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

Side by Side Diff: frog/minfrog

Issue 8828008: Modification to the order that classes are printed out so that the prototype (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env node 1 #!/usr/bin/env node
2 // ********** Library dart:core ************** 2 // ********** Library dart:core **************
3 // ********** Natives dart:core ************** 3 // ********** Natives dart:core **************
4 /** 4 /**
5 * Generates a dynamic call stub for a function. 5 * Generates a dynamic call stub for a function.
6 * Our goal is to create a stub method like this on-the-fly: 6 * Our goal is to create a stub method like this on-the-fly:
7 * function($0, $1, capture) { return this($0, $1, true, capture); } 7 * function($0, $1, capture) { return this($0, $1, true, capture); }
8 * 8 *
9 * This stub then replaces the dynamic one on Function, with one that is 9 * This stub then replaces the dynamic one on Function, with one that is
10 * specialized for that particular function, taking into account its default 10 * specialized for that particular function, taking into account its default
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 } 117 }
118 function $truncdiv(x, y) { 118 function $truncdiv(x, y) {
119 if (typeof(x) == 'number' && typeof(y) == 'number') { 119 if (typeof(x) == 'number' && typeof(y) == 'number') {
120 if (y == 0) $throw(new IntegerDivisionByZeroException()); 120 if (y == 0) $throw(new IntegerDivisionByZeroException());
121 var tmp = x / y; 121 var tmp = x / y;
122 return (tmp < 0) ? Math.ceil(tmp) : Math.floor(tmp); 122 return (tmp < 0) ? Math.ceil(tmp) : Math.floor(tmp);
123 } else { 123 } else {
124 return x.$truncdiv(y); 124 return x.$truncdiv(y);
125 } 125 }
126 } 126 }
127 // ********** Code for Clock **************
128 function Clock() {}
129 Clock.now = function() {
130 return new Date().getTime();
131 }
132 Clock.frequency = function() {
133 return 1000;
134 }
135 // ********** Code for Object ************** 127 // ********** Code for Object **************
136 Object.prototype.get$dynamic = function() { 128 Object.prototype.get$dynamic = function() {
137 return this; 129 return this;
138 } 130 }
139 Object.prototype.noSuchMethod = function(name, args) { 131 Object.prototype.noSuchMethod = function(name, args) {
140 $throw(new NoSuchMethodException(this, name, args)); 132 $throw(new NoSuchMethodException(this, name, args));
141 } 133 }
142 Object.prototype._checkExtends$0 = function() { 134 Object.prototype._checkExtends$0 = function() {
143 return this.noSuchMethod("_checkExtends", []); 135 return this.noSuchMethod("_checkExtends", []);
144 }; 136 };
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 }; 370 };
379 Object.prototype.visitPostfixExpression$1 = function($0) { 371 Object.prototype.visitPostfixExpression$1 = function($0) {
380 return this.noSuchMethod("visitPostfixExpression", [$0]); 372 return this.noSuchMethod("visitPostfixExpression", [$0]);
381 }; 373 };
382 Object.prototype.visitSources$0 = function() { 374 Object.prototype.visitSources$0 = function() {
383 return this.noSuchMethod("visitSources", []); 375 return this.noSuchMethod("visitSources", []);
384 }; 376 };
385 Object.prototype.writeDefinition$2 = function($0, $1) { 377 Object.prototype.writeDefinition$2 = function($0, $1) {
386 return this.noSuchMethod("writeDefinition", [$0, $1]); 378 return this.noSuchMethod("writeDefinition", [$0, $1]);
387 }; 379 };
380 // ********** Code for Clock **************
381 function Clock() {}
382 Clock.now = function() {
383 return new Date().getTime();
384 }
385 Clock.frequency = function() {
386 return 1000;
387 }
388 // ********** Code for NoSuchMethodException ************** 388 // ********** Code for NoSuchMethodException **************
389 function NoSuchMethodException(_receiver, _functionName, _arguments) { 389 function NoSuchMethodException(_receiver, _functionName, _arguments) {
390 this._receiver = _receiver; 390 this._receiver = _receiver;
391 this._functionName = _functionName; 391 this._functionName = _functionName;
392 this._arguments = _arguments; 392 this._arguments = _arguments;
393 // Initializers done 393 // Initializers done
394 } 394 }
395 NoSuchMethodException.prototype.toString = function() { 395 NoSuchMethodException.prototype.toString = function() {
396 var sb = new StringBufferImpl(""); 396 var sb = new StringBufferImpl("");
397 for (var i = 0; 397 for (var i = 0;
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 ListFactory.prototype.sort$1 = function($0) { 641 ListFactory.prototype.sort$1 = function($0) {
642 return this.sort(to$call$2($0)); 642 return this.sort(to$call$2($0));
643 }; 643 };
644 ListFactory_E = ListFactory; 644 ListFactory_E = ListFactory;
645 ListFactory_K = ListFactory; 645 ListFactory_K = ListFactory;
646 ListFactory_String = ListFactory; 646 ListFactory_String = ListFactory;
647 ListFactory_V = ListFactory; 647 ListFactory_V = ListFactory;
648 // ********** Code for ListIterator ************** 648 // ********** Code for ListIterator **************
649 function ListIterator(array) { 649 function ListIterator(array) {
650 this._array = array; 650 this._array = array;
651 this._dart_coreimpl_pos = 0; 651 this._pos = 0;
652 // Initializers done 652 // Initializers done
653 } 653 }
654 ListIterator.prototype.hasNext = function() { 654 ListIterator.prototype.hasNext = function() {
655 return this._array.length > this._dart_coreimpl_pos; 655 return this._array.length > this._pos;
656 } 656 }
657 ListIterator.prototype.next = function() { 657 ListIterator.prototype.next = function() {
658 if (!this.hasNext()) { 658 if (!this.hasNext()) {
659 $throw(const$0/*const NoMoreElementsException()*/); 659 $throw(const$0/*const NoMoreElementsException()*/);
660 } 660 }
661 return this._array.$index(this._dart_coreimpl_pos++); 661 return this._array.$index(this._pos++);
662 } 662 }
663 ListIterator.prototype.hasNext$0 = ListIterator.prototype.hasNext; 663 ListIterator.prototype.hasNext$0 = ListIterator.prototype.hasNext;
664 ListIterator.prototype.next$0 = ListIterator.prototype.next; 664 ListIterator.prototype.next$0 = ListIterator.prototype.next;
665 // ********** Code for NumImplementation ************** 665 // ********** Code for NumImplementation **************
666 NumImplementation = Number; 666 NumImplementation = Number;
667 NumImplementation.prototype.isNaN = function() { 667 NumImplementation.prototype.isNaN = function() {
668 return isNaN(this); 668 return isNaN(this);
669 } 669 }
670 NumImplementation.prototype.isNegative = function() { 670 NumImplementation.prototype.isNegative = function() {
671 return this == 0 ? (1 / this) < 0 : this < 0; 671 return this == 0 ? (1 / this) < 0 : this < 0;
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 return (this._probeForLookup(key) != -1); 875 return (this._probeForLookup(key) != -1);
876 } 876 }
877 HashMapImplementation.prototype.containsKey$1 = HashMapImplementation.prototype. containsKey; 877 HashMapImplementation.prototype.containsKey$1 = HashMapImplementation.prototype. containsKey;
878 HashMapImplementation.prototype.forEach$1 = function($0) { 878 HashMapImplementation.prototype.forEach$1 = function($0) {
879 return this.forEach(to$call$2($0)); 879 return this.forEach(to$call$2($0));
880 }; 880 };
881 HashMapImplementation.prototype.getKeys$0 = HashMapImplementation.prototype.getK eys; 881 HashMapImplementation.prototype.getKeys$0 = HashMapImplementation.prototype.getK eys;
882 HashMapImplementation.prototype.getValues$0 = HashMapImplementation.prototype.ge tValues; 882 HashMapImplementation.prototype.getValues$0 = HashMapImplementation.prototype.ge tValues;
883 HashMapImplementation.prototype.isEmpty$0 = HashMapImplementation.prototype.isEm pty; 883 HashMapImplementation.prototype.isEmpty$0 = HashMapImplementation.prototype.isEm pty;
884 // ********** Code for HashMapImplementation_E$E ************** 884 // ********** Code for HashMapImplementation_E$E **************
885 function HashMapImplementation_E$E() {
886 // Initializers done
887 this._numberOfEntries = 0;
888 this._numberOfDeleted = 0;
889 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
890 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
891 this._values = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
892 }
893 /** Implements extends for Dart classes on JavaScript prototypes. */ 885 /** Implements extends for Dart classes on JavaScript prototypes. */
894 function $inherits(child, parent) { 886 function $inherits(child, parent) {
895 if (child.prototype.__proto__) { 887 if (child.prototype.__proto__) {
896 child.prototype.__proto__ = parent.prototype; 888 child.prototype.__proto__ = parent.prototype;
897 } else { 889 } else {
898 function tmp() {}; 890 function tmp() {};
899 tmp.prototype = parent.prototype; 891 tmp.prototype = parent.prototype;
900 child.prototype = new tmp(); 892 child.prototype = new tmp();
901 child.prototype.constructor = child; 893 child.prototype.constructor = child;
902 } 894 }
903 } 895 }
904 $inherits(HashMapImplementation_E$E, HashMapImplementation); 896 $inherits(HashMapImplementation_E$E, HashMapImplementation);
897 function HashMapImplementation_E$E() {
898 // Initializers done
899 this._numberOfEntries = 0;
900 this._numberOfDeleted = 0;
901 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
902 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
903 this._values = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
904 }
905 HashMapImplementation_E$E._computeLoadLimit = function(capacity) { 905 HashMapImplementation_E$E._computeLoadLimit = function(capacity) {
906 return $truncdiv((capacity * 3), 4); 906 return $truncdiv((capacity * 3), 4);
907 } 907 }
908 HashMapImplementation_E$E._firstProbe = function(hashCode, length) { 908 HashMapImplementation_E$E._firstProbe = function(hashCode, length) {
909 return hashCode & (length - 1); 909 return hashCode & (length - 1);
910 } 910 }
911 HashMapImplementation_E$E._nextProbe = function(currentProbe, numberOfProbes, le ngth) { 911 HashMapImplementation_E$E._nextProbe = function(currentProbe, numberOfProbes, le ngth) {
912 return (currentProbe + numberOfProbes) & (length - 1); 912 return (currentProbe + numberOfProbes) & (length - 1);
913 } 913 }
914 HashMapImplementation_E$E.prototype._probeForAdding = function(key) { 914 HashMapImplementation_E$E.prototype._probeForAdding = function(key) {
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1017 this.forEach(function _(key, value) { 1017 this.forEach(function _(key, value) {
1018 list.$setindex(i++, key); 1018 list.$setindex(i++, key);
1019 } 1019 }
1020 ); 1020 );
1021 return list; 1021 return list;
1022 } 1022 }
1023 HashMapImplementation_E$E.prototype.containsKey = function(key) { 1023 HashMapImplementation_E$E.prototype.containsKey = function(key) {
1024 return (this._probeForLookup(key) != -1); 1024 return (this._probeForLookup(key) != -1);
1025 } 1025 }
1026 // ********** Code for HashMapImplementation_K$DoubleLinkedQueueEntry_KeyValuePa ir_K$V ************** 1026 // ********** Code for HashMapImplementation_K$DoubleLinkedQueueEntry_KeyValuePa ir_K$V **************
1027 $inherits(HashMapImplementation_K$DoubleLinkedQueueEntry_KeyValuePair_K$V, HashM apImplementation);
1027 function HashMapImplementation_K$DoubleLinkedQueueEntry_KeyValuePair_K$V() {} 1028 function HashMapImplementation_K$DoubleLinkedQueueEntry_KeyValuePair_K$V() {}
1028 $inherits(HashMapImplementation_K$DoubleLinkedQueueEntry_KeyValuePair_K$V, HashM apImplementation);
1029 // ********** Code for HashMapImplementation_String$EvaluatedValue ************* * 1029 // ********** Code for HashMapImplementation_String$EvaluatedValue ************* *
1030 $inherits(HashMapImplementation_String$EvaluatedValue, HashMapImplementation);
1030 function HashMapImplementation_String$EvaluatedValue() {} 1031 function HashMapImplementation_String$EvaluatedValue() {}
1031 $inherits(HashMapImplementation_String$EvaluatedValue, HashMapImplementation);
1032 // ********** Code for HashSetImplementation ************** 1032 // ********** Code for HashSetImplementation **************
1033 function HashSetImplementation() { 1033 function HashSetImplementation() {
1034 // Initializers done 1034 // Initializers done
1035 this._backingMap = new HashMapImplementation_E$E(); 1035 this._backingMap = new HashMapImplementation_E$E();
1036 } 1036 }
1037 HashSetImplementation.HashSetImplementation$from$factory = function(other) { 1037 HashSetImplementation.HashSetImplementation$from$factory = function(other) {
1038 var set = new HashSetImplementation(); 1038 var set = new HashSetImplementation();
1039 for (var $$i = other.iterator(); $$i.hasNext$0(); ) { 1039 for (var $$i = other.iterator(); $$i.hasNext$0(); ) {
1040 var e = $$i.next$0(); 1040 var e = $$i.next$0();
1041 set.add(e); 1041 set.add(e);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1105 }; 1105 };
1106 HashSetImplementation.prototype.forEach$1 = function($0) { 1106 HashSetImplementation.prototype.forEach$1 = function($0) {
1107 return this.forEach(to$call$1($0)); 1107 return this.forEach(to$call$1($0));
1108 }; 1108 };
1109 HashSetImplementation.prototype.isEmpty$0 = HashSetImplementation.prototype.isEm pty; 1109 HashSetImplementation.prototype.isEmpty$0 = HashSetImplementation.prototype.isEm pty;
1110 HashSetImplementation.prototype.iterator$0 = HashSetImplementation.prototype.ite rator; 1110 HashSetImplementation.prototype.iterator$0 = HashSetImplementation.prototype.ite rator;
1111 HashSetImplementation.prototype.some$1 = function($0) { 1111 HashSetImplementation.prototype.some$1 = function($0) {
1112 return this.some(to$call$1($0)); 1112 return this.some(to$call$1($0));
1113 }; 1113 };
1114 // ********** Code for HashSetImplementation_E ************** 1114 // ********** Code for HashSetImplementation_E **************
1115 $inherits(HashSetImplementation_E, HashSetImplementation);
1115 function HashSetImplementation_E() {} 1116 function HashSetImplementation_E() {}
1116 $inherits(HashSetImplementation_E, HashSetImplementation);
1117 // ********** Code for HashSetImplementation_String ************** 1117 // ********** Code for HashSetImplementation_String **************
1118 $inherits(HashSetImplementation_String, HashSetImplementation);
1118 function HashSetImplementation_String() {} 1119 function HashSetImplementation_String() {}
1119 $inherits(HashSetImplementation_String, HashSetImplementation);
1120 // ********** Code for HashSetImplementation_Type ************** 1120 // ********** Code for HashSetImplementation_Type **************
1121 $inherits(HashSetImplementation_Type, HashSetImplementation);
1121 function HashSetImplementation_Type() {} 1122 function HashSetImplementation_Type() {}
1122 $inherits(HashSetImplementation_Type, HashSetImplementation);
1123 // ********** Code for HashSetIterator ************** 1123 // ********** Code for HashSetIterator **************
1124 function HashSetIterator(set_) { 1124 function HashSetIterator(set_) {
1125 this._nextValidIndex = -1; 1125 this._nextValidIndex = -1;
1126 this._entries = set_._backingMap._keys; 1126 this._entries = set_._backingMap._keys;
1127 // Initializers done 1127 // Initializers done
1128 this._advance(); 1128 this._advance();
1129 } 1129 }
1130 HashSetIterator.prototype.hasNext = function() { 1130 HashSetIterator.prototype.hasNext = function() {
1131 if (this._nextValidIndex >= this._entries.length) return false; 1131 if (this._nextValidIndex >= this._entries.length) return false;
1132 if (this._entries.$index(this._nextValidIndex) === const$3/*HashMapImplementat ion._DELETED_KEY*/) { 1132 if (this._entries.$index(this._nextValidIndex) === const$3/*HashMapImplementat ion._DELETED_KEY*/) {
(...skipping 15 matching lines...) Expand all
1148 var deletedKey = const$3/*HashMapImplementation._DELETED_KEY*/; 1148 var deletedKey = const$3/*HashMapImplementation._DELETED_KEY*/;
1149 do { 1149 do {
1150 if (++this._nextValidIndex >= length) break; 1150 if (++this._nextValidIndex >= length) break;
1151 entry = this._entries.$index(this._nextValidIndex); 1151 entry = this._entries.$index(this._nextValidIndex);
1152 } 1152 }
1153 while ((entry == null) || (entry === deletedKey)) 1153 while ((entry == null) || (entry === deletedKey))
1154 } 1154 }
1155 HashSetIterator.prototype.hasNext$0 = HashSetIterator.prototype.hasNext; 1155 HashSetIterator.prototype.hasNext$0 = HashSetIterator.prototype.hasNext;
1156 HashSetIterator.prototype.next$0 = HashSetIterator.prototype.next; 1156 HashSetIterator.prototype.next$0 = HashSetIterator.prototype.next;
1157 // ********** Code for HashSetIterator_E ************** 1157 // ********** Code for HashSetIterator_E **************
1158 $inherits(HashSetIterator_E, HashSetIterator);
1158 function HashSetIterator_E(set_) { 1159 function HashSetIterator_E(set_) {
1159 this._nextValidIndex = -1; 1160 this._nextValidIndex = -1;
1160 this._entries = set_._backingMap._keys; 1161 this._entries = set_._backingMap._keys;
1161 // Initializers done 1162 // Initializers done
1162 this._advance(); 1163 this._advance();
1163 } 1164 }
1164 $inherits(HashSetIterator_E, HashSetIterator);
1165 HashSetIterator_E.prototype._advance = function() { 1165 HashSetIterator_E.prototype._advance = function() {
1166 var length = this._entries.length; 1166 var length = this._entries.length;
1167 var entry; 1167 var entry;
1168 var deletedKey = const$3/*HashMapImplementation._DELETED_KEY*/; 1168 var deletedKey = const$3/*HashMapImplementation._DELETED_KEY*/;
1169 do { 1169 do {
1170 if (++this._nextValidIndex >= length) break; 1170 if (++this._nextValidIndex >= length) break;
1171 entry = this._entries.$index(this._nextValidIndex); 1171 entry = this._entries.$index(this._nextValidIndex);
1172 } 1172 }
1173 while ((entry == null) || (entry === deletedKey)) 1173 while ((entry == null) || (entry === deletedKey))
1174 } 1174 }
1175 // ********** Code for _DeletedKeySentinel ************** 1175 // ********** Code for _DeletedKeySentinel **************
1176 function _DeletedKeySentinel() { 1176 function _DeletedKeySentinel() {
1177 // Initializers done 1177 // Initializers done
1178 } 1178 }
1179 // ********** Code for KeyValuePair ************** 1179 // ********** Code for KeyValuePair **************
1180 function KeyValuePair(key, value) { 1180 function KeyValuePair(key, value) {
1181 this.key = key; 1181 this.key = key;
1182 this.value = value; 1182 this.value = value;
1183 // Initializers done 1183 // Initializers done
1184 } 1184 }
1185 KeyValuePair.prototype.get$value = function() { return this.value; }; 1185 KeyValuePair.prototype.get$value = function() { return this.value; };
1186 KeyValuePair.prototype.set$value = function(value) { return this.value = value; }; 1186 KeyValuePair.prototype.set$value = function(value) { return this.value = value; };
1187 // ********** Code for KeyValuePair_K$V ************** 1187 // ********** Code for KeyValuePair_K$V **************
1188 $inherits(KeyValuePair_K$V, KeyValuePair);
1188 function KeyValuePair_K$V(key, value) { 1189 function KeyValuePair_K$V(key, value) {
1189 this.key = key; 1190 this.key = key;
1190 this.value = value; 1191 this.value = value;
1191 // Initializers done 1192 // Initializers done
1192 } 1193 }
1193 $inherits(KeyValuePair_K$V, KeyValuePair);
1194 // ********** Code for LinkedHashMapImplementation ************** 1194 // ********** Code for LinkedHashMapImplementation **************
1195 function LinkedHashMapImplementation() { 1195 function LinkedHashMapImplementation() {
1196 // Initializers done 1196 // Initializers done
1197 this._map = new HashMapImplementation(); 1197 this._map = new HashMapImplementation();
1198 this._list = new DoubleLinkedQueue_KeyValuePair_K$V(); 1198 this._list = new DoubleLinkedQueue_KeyValuePair_K$V();
1199 } 1199 }
1200 LinkedHashMapImplementation.prototype.$setindex = function(key, value) { 1200 LinkedHashMapImplementation.prototype.$setindex = function(key, value) {
1201 if (this._map.containsKey(key)) { 1201 if (this._map.containsKey(key)) {
1202 this._map.$index(key).get$element().set$value(value); 1202 this._map.$index(key).get$element().set$value(value);
1203 } 1203 }
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1278 DoubleLinkedQueueEntry.prototype._asNonSentinelEntry = function() { 1278 DoubleLinkedQueueEntry.prototype._asNonSentinelEntry = function() {
1279 return this; 1279 return this;
1280 } 1280 }
1281 DoubleLinkedQueueEntry.prototype.previousEntry = function() { 1281 DoubleLinkedQueueEntry.prototype.previousEntry = function() {
1282 return this._previous._asNonSentinelEntry(); 1282 return this._previous._asNonSentinelEntry();
1283 } 1283 }
1284 DoubleLinkedQueueEntry.prototype.get$element = function() { 1284 DoubleLinkedQueueEntry.prototype.get$element = function() {
1285 return this._element; 1285 return this._element;
1286 } 1286 }
1287 // ********** Code for DoubleLinkedQueueEntry_E ************** 1287 // ********** Code for DoubleLinkedQueueEntry_E **************
1288 $inherits(DoubleLinkedQueueEntry_E, DoubleLinkedQueueEntry);
1288 function DoubleLinkedQueueEntry_E(e) { 1289 function DoubleLinkedQueueEntry_E(e) {
1289 // Initializers done 1290 // Initializers done
1290 this._element = e; 1291 this._element = e;
1291 } 1292 }
1292 $inherits(DoubleLinkedQueueEntry_E, DoubleLinkedQueueEntry);
1293 DoubleLinkedQueueEntry_E.prototype._link = function(p, n) { 1293 DoubleLinkedQueueEntry_E.prototype._link = function(p, n) {
1294 this._next = n; 1294 this._next = n;
1295 this._previous = p; 1295 this._previous = p;
1296 p._next = this; 1296 p._next = this;
1297 n._previous = this; 1297 n._previous = this;
1298 } 1298 }
1299 DoubleLinkedQueueEntry_E.prototype.prepend = function(e) { 1299 DoubleLinkedQueueEntry_E.prototype.prepend = function(e) {
1300 new DoubleLinkedQueueEntry_E(e)._link(this._previous, this); 1300 new DoubleLinkedQueueEntry_E(e)._link(this._previous, this);
1301 } 1301 }
1302 DoubleLinkedQueueEntry_E.prototype.remove = function() { 1302 DoubleLinkedQueueEntry_E.prototype.remove = function() {
1303 this._previous._next = this._next; 1303 this._previous._next = this._next;
1304 this._next._previous = this._previous; 1304 this._next._previous = this._previous;
1305 this._next = null; 1305 this._next = null;
1306 this._previous = null; 1306 this._previous = null;
1307 return this._element; 1307 return this._element;
1308 } 1308 }
1309 DoubleLinkedQueueEntry_E.prototype._asNonSentinelEntry = function() { 1309 DoubleLinkedQueueEntry_E.prototype._asNonSentinelEntry = function() {
1310 return this; 1310 return this;
1311 } 1311 }
1312 DoubleLinkedQueueEntry_E.prototype.previousEntry = function() { 1312 DoubleLinkedQueueEntry_E.prototype.previousEntry = function() {
1313 return this._previous._asNonSentinelEntry(); 1313 return this._previous._asNonSentinelEntry();
1314 } 1314 }
1315 // ********** Code for DoubleLinkedQueueEntry_KeyValuePair_K$V ************** 1315 // ********** Code for DoubleLinkedQueueEntry_KeyValuePair_K$V **************
1316 $inherits(DoubleLinkedQueueEntry_KeyValuePair_K$V, DoubleLinkedQueueEntry);
1316 function DoubleLinkedQueueEntry_KeyValuePair_K$V(e) { 1317 function DoubleLinkedQueueEntry_KeyValuePair_K$V(e) {
1317 // Initializers done 1318 // Initializers done
1318 this._element = e; 1319 this._element = e;
1319 } 1320 }
1320 $inherits(DoubleLinkedQueueEntry_KeyValuePair_K$V, DoubleLinkedQueueEntry);
1321 DoubleLinkedQueueEntry_KeyValuePair_K$V.prototype._link = function(p, n) { 1321 DoubleLinkedQueueEntry_KeyValuePair_K$V.prototype._link = function(p, n) {
1322 this._next = n; 1322 this._next = n;
1323 this._previous = p; 1323 this._previous = p;
1324 p._next = this; 1324 p._next = this;
1325 n._previous = this; 1325 n._previous = this;
1326 } 1326 }
1327 DoubleLinkedQueueEntry_KeyValuePair_K$V.prototype.prepend = function(e) { 1327 DoubleLinkedQueueEntry_KeyValuePair_K$V.prototype.prepend = function(e) {
1328 new DoubleLinkedQueueEntry_KeyValuePair_K$V(e)._link(this._previous, this); 1328 new DoubleLinkedQueueEntry_KeyValuePair_K$V(e)._link(this._previous, this);
1329 } 1329 }
1330 DoubleLinkedQueueEntry_KeyValuePair_K$V.prototype._asNonSentinelEntry = function () { 1330 DoubleLinkedQueueEntry_KeyValuePair_K$V.prototype._asNonSentinelEntry = function () {
1331 return this; 1331 return this;
1332 } 1332 }
1333 DoubleLinkedQueueEntry_KeyValuePair_K$V.prototype.previousEntry = function() { 1333 DoubleLinkedQueueEntry_KeyValuePair_K$V.prototype.previousEntry = function() {
1334 return this._previous._asNonSentinelEntry(); 1334 return this._previous._asNonSentinelEntry();
1335 } 1335 }
1336 // ********** Code for _DoubleLinkedQueueEntrySentinel ************** 1336 // ********** Code for _DoubleLinkedQueueEntrySentinel **************
1337 $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry_E);
1337 function _DoubleLinkedQueueEntrySentinel() { 1338 function _DoubleLinkedQueueEntrySentinel() {
1338 // Initializers done 1339 // Initializers done
1339 DoubleLinkedQueueEntry_E.call(this, null); 1340 DoubleLinkedQueueEntry_E.call(this, null);
1340 this._link(this, this); 1341 this._link(this, this);
1341 } 1342 }
1342 $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry_E);
1343 _DoubleLinkedQueueEntrySentinel.prototype.remove = function() { 1343 _DoubleLinkedQueueEntrySentinel.prototype.remove = function() {
1344 $throw(const$2/*const EmptyQueueException()*/); 1344 $throw(const$2/*const EmptyQueueException()*/);
1345 } 1345 }
1346 _DoubleLinkedQueueEntrySentinel.prototype._asNonSentinelEntry = function() { 1346 _DoubleLinkedQueueEntrySentinel.prototype._asNonSentinelEntry = function() {
1347 return null; 1347 return null;
1348 } 1348 }
1349 _DoubleLinkedQueueEntrySentinel.prototype.get$element = function() { 1349 _DoubleLinkedQueueEntrySentinel.prototype.get$element = function() {
1350 $throw(const$2/*const EmptyQueueException()*/); 1350 $throw(const$2/*const EmptyQueueException()*/);
1351 } 1351 }
1352 // ********** Code for _DoubleLinkedQueueEntrySentinel_E ************** 1352 // ********** Code for _DoubleLinkedQueueEntrySentinel_E **************
1353 $inherits(_DoubleLinkedQueueEntrySentinel_E, _DoubleLinkedQueueEntrySentinel);
1353 function _DoubleLinkedQueueEntrySentinel_E() { 1354 function _DoubleLinkedQueueEntrySentinel_E() {
1354 // Initializers done 1355 // Initializers done
1355 DoubleLinkedQueueEntry_E.call(this, null); 1356 DoubleLinkedQueueEntry_E.call(this, null);
1356 this._link(this, this); 1357 this._link(this, this);
1357 } 1358 }
1358 $inherits(_DoubleLinkedQueueEntrySentinel_E, _DoubleLinkedQueueEntrySentinel);
1359 // ********** Code for _DoubleLinkedQueueEntrySentinel_KeyValuePair_K$V ******** ****** 1359 // ********** Code for _DoubleLinkedQueueEntrySentinel_KeyValuePair_K$V ******** ******
1360 $inherits(_DoubleLinkedQueueEntrySentinel_KeyValuePair_K$V, _DoubleLinkedQueueEn trySentinel);
1360 function _DoubleLinkedQueueEntrySentinel_KeyValuePair_K$V() { 1361 function _DoubleLinkedQueueEntrySentinel_KeyValuePair_K$V() {
1361 // Initializers done 1362 // Initializers done
1362 DoubleLinkedQueueEntry_KeyValuePair_K$V.call(this, null); 1363 DoubleLinkedQueueEntry_KeyValuePair_K$V.call(this, null);
1363 this._link(this, this); 1364 this._link(this, this);
1364 } 1365 }
1365 $inherits(_DoubleLinkedQueueEntrySentinel_KeyValuePair_K$V, _DoubleLinkedQueueEn trySentinel);
1366 // ********** Code for DoubleLinkedQueue ************** 1366 // ********** Code for DoubleLinkedQueue **************
1367 function DoubleLinkedQueue() { 1367 function DoubleLinkedQueue() {
1368 // Initializers done 1368 // Initializers done
1369 this._sentinel = new _DoubleLinkedQueueEntrySentinel_E(); 1369 this._sentinel = new _DoubleLinkedQueueEntrySentinel_E();
1370 } 1370 }
1371 DoubleLinkedQueue.prototype.addLast = function(value) { 1371 DoubleLinkedQueue.prototype.addLast = function(value) {
1372 this._sentinel.prepend(value); 1372 this._sentinel.prepend(value);
1373 } 1373 }
1374 DoubleLinkedQueue.prototype.add = function(value) { 1374 DoubleLinkedQueue.prototype.add = function(value) {
1375 this.addLast(value); 1375 this.addLast(value);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
1454 return this.forEach(to$call$1($0)); 1454 return this.forEach(to$call$1($0));
1455 }; 1455 };
1456 DoubleLinkedQueue.prototype.isEmpty$0 = DoubleLinkedQueue.prototype.isEmpty; 1456 DoubleLinkedQueue.prototype.isEmpty$0 = DoubleLinkedQueue.prototype.isEmpty;
1457 DoubleLinkedQueue.prototype.iterator$0 = DoubleLinkedQueue.prototype.iterator; 1457 DoubleLinkedQueue.prototype.iterator$0 = DoubleLinkedQueue.prototype.iterator;
1458 DoubleLinkedQueue.prototype.last$0 = DoubleLinkedQueue.prototype.last; 1458 DoubleLinkedQueue.prototype.last$0 = DoubleLinkedQueue.prototype.last;
1459 DoubleLinkedQueue.prototype.removeLast$0 = DoubleLinkedQueue.prototype.removeLas t; 1459 DoubleLinkedQueue.prototype.removeLast$0 = DoubleLinkedQueue.prototype.removeLas t;
1460 DoubleLinkedQueue.prototype.some$1 = function($0) { 1460 DoubleLinkedQueue.prototype.some$1 = function($0) {
1461 return this.some(to$call$1($0)); 1461 return this.some(to$call$1($0));
1462 }; 1462 };
1463 // ********** Code for DoubleLinkedQueue_E ************** 1463 // ********** Code for DoubleLinkedQueue_E **************
1464 $inherits(DoubleLinkedQueue_E, DoubleLinkedQueue);
1464 function DoubleLinkedQueue_E() {} 1465 function DoubleLinkedQueue_E() {}
1465 $inherits(DoubleLinkedQueue_E, DoubleLinkedQueue);
1466 // ********** Code for DoubleLinkedQueue_KeyValuePair_K$V ************** 1466 // ********** Code for DoubleLinkedQueue_KeyValuePair_K$V **************
1467 $inherits(DoubleLinkedQueue_KeyValuePair_K$V, DoubleLinkedQueue);
1467 function DoubleLinkedQueue_KeyValuePair_K$V() { 1468 function DoubleLinkedQueue_KeyValuePair_K$V() {
1468 // Initializers done 1469 // Initializers done
1469 this._sentinel = new _DoubleLinkedQueueEntrySentinel_KeyValuePair_K$V(); 1470 this._sentinel = new _DoubleLinkedQueueEntrySentinel_KeyValuePair_K$V();
1470 } 1471 }
1471 $inherits(DoubleLinkedQueue_KeyValuePair_K$V, DoubleLinkedQueue);
1472 DoubleLinkedQueue_KeyValuePair_K$V.prototype.addLast = function(value) { 1472 DoubleLinkedQueue_KeyValuePair_K$V.prototype.addLast = function(value) {
1473 this._sentinel.prepend(value); 1473 this._sentinel.prepend(value);
1474 } 1474 }
1475 DoubleLinkedQueue_KeyValuePair_K$V.prototype.lastEntry = function() { 1475 DoubleLinkedQueue_KeyValuePair_K$V.prototype.lastEntry = function() {
1476 return this._sentinel.previousEntry(); 1476 return this._sentinel.previousEntry();
1477 } 1477 }
1478 DoubleLinkedQueue_KeyValuePair_K$V.prototype.forEach = function(f) { 1478 DoubleLinkedQueue_KeyValuePair_K$V.prototype.forEach = function(f) {
1479 var entry = this._sentinel._next; 1479 var entry = this._sentinel._next;
1480 while (entry !== this._sentinel) { 1480 while (entry !== this._sentinel) {
1481 var nextEntry = entry._next; 1481 var nextEntry = entry._next;
(...skipping 13 matching lines...) Expand all
1495 _DoubleLinkedQueueIterator.prototype.next = function() { 1495 _DoubleLinkedQueueIterator.prototype.next = function() {
1496 if (!this.hasNext()) { 1496 if (!this.hasNext()) {
1497 $throw(const$0/*const NoMoreElementsException()*/); 1497 $throw(const$0/*const NoMoreElementsException()*/);
1498 } 1498 }
1499 this._currentEntry = this._currentEntry._next; 1499 this._currentEntry = this._currentEntry._next;
1500 return this._currentEntry.get$element(); 1500 return this._currentEntry.get$element();
1501 } 1501 }
1502 _DoubleLinkedQueueIterator.prototype.hasNext$0 = _DoubleLinkedQueueIterator.prot otype.hasNext; 1502 _DoubleLinkedQueueIterator.prototype.hasNext$0 = _DoubleLinkedQueueIterator.prot otype.hasNext;
1503 _DoubleLinkedQueueIterator.prototype.next$0 = _DoubleLinkedQueueIterator.prototy pe.next; 1503 _DoubleLinkedQueueIterator.prototype.next$0 = _DoubleLinkedQueueIterator.prototy pe.next;
1504 // ********** Code for _DoubleLinkedQueueIterator_E ************** 1504 // ********** Code for _DoubleLinkedQueueIterator_E **************
1505 $inherits(_DoubleLinkedQueueIterator_E, _DoubleLinkedQueueIterator);
1505 function _DoubleLinkedQueueIterator_E(_sentinel) { 1506 function _DoubleLinkedQueueIterator_E(_sentinel) {
1506 this._sentinel = _sentinel; 1507 this._sentinel = _sentinel;
1507 // Initializers done 1508 // Initializers done
1508 this._currentEntry = this._sentinel; 1509 this._currentEntry = this._sentinel;
1509 } 1510 }
1510 $inherits(_DoubleLinkedQueueIterator_E, _DoubleLinkedQueueIterator);
1511 // ********** Code for StopwatchImplementation ************** 1511 // ********** Code for StopwatchImplementation **************
1512 function StopwatchImplementation() { 1512 function StopwatchImplementation() {
1513 this._start = null; 1513 this._start = null;
1514 this._stop = null; 1514 this._stop = null;
1515 // Initializers done 1515 // Initializers done
1516 } 1516 }
1517 StopwatchImplementation.prototype.start = function() { 1517 StopwatchImplementation.prototype.start = function() {
1518 if (this._start == null) { 1518 if (this._start == null) {
1519 this._start = Clock.now(); 1519 this._start = Clock.now();
1520 } 1520 }
(...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after
2221 if (!isSubtype) { 2221 if (!isSubtype) {
2222 body = $globals.world.objectType.varStubs.$index(checkName).get$body(); 2222 body = $globals.world.objectType.varStubs.$index(checkName).get$body();
2223 } 2223 }
2224 else if (onType.name == 'StringImplementation' || onType.name == 'NumImpleme ntation') { 2224 else if (onType.name == 'StringImplementation' || onType.name == 'NumImpleme ntation') {
2225 body = ('return ' + onType.get$nativeType().name + '(this)'); 2225 body = ('return ' + onType.get$nativeType().name + '(this)');
2226 } 2226 }
2227 this.writer.writeln(this._prototypeOf(onType, checkName) + (' = function(){' + body + '};')); 2227 this.writer.writeln(this._prototypeOf(onType, checkName) + (' = function(){' + body + '};'));
2228 } 2228 }
2229 } 2229 }
2230 WorldGenerator.prototype.writeType = function(type) { 2230 WorldGenerator.prototype.writeType = function(type) {
2231 if (type.isWritten) return;
2232 type.isWritten = true;
2233 if (type.get$parent() != null && !type.get$isNative()) this.writeType(type.get $parent());
2231 if (type.name != null && (type instanceof ConcreteType) && $eq(type.get$librar y(), $globals.world.get$coreimpl()) && type.name.startsWith('ListFactory')) { 2234 if (type.name != null && (type instanceof ConcreteType) && $eq(type.get$librar y(), $globals.world.get$coreimpl()) && type.name.startsWith('ListFactory')) {
2232 this.writer.writeln(('' + type.get$jsname() + ' = ' + type.get$genericType() .get$jsname() + ';')); 2235 this.writer.writeln(('' + type.get$jsname() + ' = ' + type.get$genericType() .get$jsname() + ';'));
2233 return; 2236 return;
2234 } 2237 }
2235 var typeName = type.get$jsname() != null ? type.get$jsname() : 'top level'; 2238 var typeName = type.get$jsname() != null ? type.get$jsname() : 'top level';
2236 this.writer.comment(('// ********** Code for ' + typeName + ' **************') ); 2239 this.writer.comment(('// ********** Code for ' + typeName + ' **************') );
2237 if (type.get$isNative() && !type.get$isTop()) { 2240 if (type.get$isNative() && !type.get$isTop()) {
2238 var nativeName = type.get$definition().get$nativeType().get$name(); 2241 var nativeName = type.get$definition().get$nativeType().get$name();
2239 if ($eq(nativeName, '')) { 2242 if ($eq(nativeName, '')) {
2240 this.writer.writeln(('function ' + type.get$jsname() + '() {}')); 2243 this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
2241 } 2244 }
2242 else if (type.get$jsname() != nativeName) { 2245 else if (type.get$jsname() != nativeName) {
2243 this.writer.writeln(('' + type.get$jsname() + ' = ' + nativeName + ';')); 2246 this.writer.writeln(('' + type.get$jsname() + ' = ' + nativeName + ';'));
2244 } 2247 }
2245 } 2248 }
2249 if (!type.get$isTop()) {
2250 if ((type instanceof ConcreteType)) {
2251 var c = type;
2252 this.corejs.ensureInheritsHelper();
2253 this.writer.writeln(('\$inherits(' + c.get$jsname() + ', ' + c.genericType .get$jsname() + ');'));
2254 for (var p = c._parent;
2255 (p instanceof ConcreteType); p = p.get$_parent()) {
2256 this._ensureInheritMembersHelper();
2257 this._mixins.writeln(('\$inheritsMembers(' + c.get$jsname() + ', ' + p.g et$jsname() + ');'));
2258 }
2259 }
2260 else if (!type.get$isNative()) {
2261 if (type.get$parent() != null && !type.get$parent().get$isObject()) {
2262 this.corejs.ensureInheritsHelper();
2263 this.writer.writeln(('\$inherits(' + type.get$jsname() + ', ' + type.get $parent().get$jsname() + ');'));
2264 }
2265 }
2266 }
2246 if (type.get$isTop()) { 2267 if (type.get$isTop()) {
2247 } 2268 }
2248 else if (type.get$constructors().get$length() == 0) { 2269 else if (type.get$constructors().get$length() == 0) {
2249 if (!type.get$isNative()) { 2270 if (!type.get$isNative()) {
2250 this.writer.writeln(('function ' + type.get$jsname() + '() {}')); 2271 this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
2251 } 2272 }
2252 } 2273 }
2253 else { 2274 else {
2254 var standardConstructor = type.get$constructors().$index(''); 2275 var standardConstructor = type.get$constructors().$index('');
2255 if (standardConstructor == null || standardConstructor.generator == null) { 2276 if (standardConstructor == null || standardConstructor.generator == null) {
2256 if (!type.get$isNative()) { 2277 if (!type.get$isNative()) {
2257 this.writer.writeln(('function ' + type.get$jsname() + '() {}')); 2278 this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
2258 } 2279 }
2259 } 2280 }
2260 else { 2281 else {
2261 standardConstructor.generator.writeDefinition(this.writer, null); 2282 standardConstructor.generator.writeDefinition(this.writer, null);
2262 } 2283 }
2263 var $$list = type.get$constructors().getValues(); 2284 var $$list = type.get$constructors().getValues();
2264 for (var $$i = type.get$constructors().getValues().iterator$0(); $$i.hasNext $0(); ) { 2285 for (var $$i = type.get$constructors().getValues().iterator$0(); $$i.hasNext $0(); ) {
2265 var c = $$i.next$0(); 2286 var c = $$i.next$0();
2266 if ($ne(c.get$generator(), null) && $ne(c, standardConstructor)) { 2287 if ($ne(c.get$generator(), null) && $ne(c, standardConstructor)) {
2267 c.get$generator().writeDefinition$2(this.writer); 2288 c.get$generator().writeDefinition$2(this.writer);
2268 } 2289 }
2269 } 2290 }
2270 } 2291 }
2271 if (!type.get$isTop()) {
2272 if ((type instanceof ConcreteType)) {
2273 var c = type;
2274 this.corejs.ensureInheritsHelper();
2275 this.writer.writeln(('\$inherits(' + c.get$jsname() + ', ' + c.genericType .get$jsname() + ');'));
2276 for (var p = c._parent;
2277 (p instanceof ConcreteType); p = p.get$_parent()) {
2278 this._ensureInheritMembersHelper();
2279 this._mixins.writeln(('\$inheritsMembers(' + c.get$jsname() + ', ' + p.g et$jsname() + ');'));
2280 }
2281 }
2282 else if (!type.get$isNative()) {
2283 if (type.get$parent() != null && !type.get$parent().get$isObject()) {
2284 this.corejs.ensureInheritsHelper();
2285 this.writer.writeln(('\$inherits(' + type.get$jsname() + ', ' + type.get $parent().get$jsname() + ');'));
2286 }
2287 }
2288 }
2289 if (!(type instanceof ConcreteType)) { 2292 if (!(type instanceof ConcreteType)) {
2290 this._maybeIsTest(type, type); 2293 this._maybeIsTest(type, type);
2291 } 2294 }
2292 if (type.get$genericType()._concreteTypes != null) { 2295 if (type.get$genericType()._concreteTypes != null) {
2293 var $$list = this._orderValues(type.get$genericType()._concreteTypes); 2296 var $$list = this._orderValues(type.get$genericType()._concreteTypes);
2294 for (var $$i = 0;$$i < $$list.length; $$i++) { 2297 for (var $$i = 0;$$i < $$list.length; $$i++) {
2295 var ct = $$list.$index($$i); 2298 var ct = $$list.$index($$i);
2296 this._maybeIsTest(type, ct); 2299 this._maybeIsTest(type, ct);
2297 } 2300 }
2298 } 2301 }
(...skipping 1738 matching lines...) Expand 10 before | Expand all | Expand 10 after
4037 function LibraryImport(library, prefix) { 4040 function LibraryImport(library, prefix) {
4038 this.library = library; 4041 this.library = library;
4039 this.prefix = prefix; 4042 this.prefix = prefix;
4040 // Initializers done 4043 // Initializers done
4041 } 4044 }
4042 LibraryImport.prototype.get$prefix = function() { return this.prefix; }; 4045 LibraryImport.prototype.get$prefix = function() { return this.prefix; };
4043 LibraryImport.prototype.set$prefix = function(value) { return this.prefix = valu e; }; 4046 LibraryImport.prototype.set$prefix = function(value) { return this.prefix = valu e; };
4044 LibraryImport.prototype.get$library = function() { return this.library; }; 4047 LibraryImport.prototype.get$library = function() { return this.library; };
4045 LibraryImport.prototype.set$library = function(value) { return this.library = va lue; }; 4048 LibraryImport.prototype.set$library = function(value) { return this.library = va lue; };
4046 // ********** Code for Library ************** 4049 // ********** Code for Library **************
4050 $inherits(Library, Element);
4047 function Library(baseSource) { 4051 function Library(baseSource) {
4048 this.isWritten = false 4052 this.isWritten = false
4049 this.isMarked = false 4053 this.isMarked = false
4050 this.baseSource = baseSource; 4054 this.baseSource = baseSource;
4051 // Initializers done 4055 // Initializers done
4052 Element.call(this, null, null); 4056 Element.call(this, null, null);
4053 this.sourceDir = dirname(this.baseSource.filename); 4057 this.sourceDir = dirname(this.baseSource.filename);
4054 this.topType = new DefinedType(null, this, null, true); 4058 this.topType = new DefinedType(null, this, null, true);
4055 this.types = _map(['', this.topType]); 4059 this.types = _map(['', this.topType]);
4056 this.imports = []; 4060 this.imports = [];
4057 this.natives = []; 4061 this.natives = [];
4058 this.sources = []; 4062 this.sources = [];
4059 this._privateMembers = new HashMapImplementation(); 4063 this._privateMembers = new HashMapImplementation();
4060 } 4064 }
4061 $inherits(Library, Element);
4062 Library.prototype.get$baseSource = function() { return this.baseSource; }; 4065 Library.prototype.get$baseSource = function() { return this.baseSource; };
4063 Library.prototype.get$types = function() { return this.types; }; 4066 Library.prototype.get$types = function() { return this.types; };
4064 Library.prototype.set$types = function(value) { return this.types = value; }; 4067 Library.prototype.set$types = function(value) { return this.types = value; };
4065 Library.prototype.get$_privateMembers = function() { return this._privateMembers ; }; 4068 Library.prototype.get$_privateMembers = function() { return this._privateMembers ; };
4066 Library.prototype.set$_privateMembers = function(value) { return this._privateMe mbers = value; }; 4069 Library.prototype.set$_privateMembers = function(value) { return this._privateMe mbers = value; };
4067 Library.prototype.get$topType = function() { return this.topType; }; 4070 Library.prototype.get$topType = function() { return this.topType; };
4068 Library.prototype.set$topType = function(value) { return this.topType = value; } ; 4071 Library.prototype.set$topType = function(value) { return this.topType = value; } ;
4069 Library.prototype.get$enclosingElement = function() { 4072 Library.prototype.get$enclosingElement = function() {
4070 return null; 4073 return null;
4071 } 4074 }
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
4543 ret.set$isInitializer(this.isInitializer); 4546 ret.set$isInitializer(this.isInitializer);
4544 return ret; 4547 return ret;
4545 } 4548 }
4546 Parameter.prototype.get$isOptional = function() { 4549 Parameter.prototype.get$isOptional = function() {
4547 return this.definition != null && this.definition.value != null; 4550 return this.definition != null && this.definition.value != null;
4548 } 4551 }
4549 Parameter.prototype.copyWithNewType$2 = Parameter.prototype.copyWithNewType; 4552 Parameter.prototype.copyWithNewType$2 = Parameter.prototype.copyWithNewType;
4550 Parameter.prototype.genValue$2 = Parameter.prototype.genValue; 4553 Parameter.prototype.genValue$2 = Parameter.prototype.genValue;
4551 Parameter.prototype.resolve$0 = Parameter.prototype.resolve; 4554 Parameter.prototype.resolve$0 = Parameter.prototype.resolve;
4552 // ********** Code for Member ************** 4555 // ********** Code for Member **************
4556 $inherits(Member, Element);
4553 function Member(name, declaringType) { 4557 function Member(name, declaringType) {
4554 this.isGenerated = false; 4558 this.isGenerated = false;
4555 this.declaringType = declaringType; 4559 this.declaringType = declaringType;
4556 // Initializers done 4560 // Initializers done
4557 Element.call(this, name, declaringType); 4561 Element.call(this, name, declaringType);
4558 } 4562 }
4559 $inherits(Member, Element);
4560 Member.prototype.get$declaringType = function() { return this.declaringType; }; 4563 Member.prototype.get$declaringType = function() { return this.declaringType; };
4561 Member.prototype.get$generator = function() { return this.generator; }; 4564 Member.prototype.get$generator = function() { return this.generator; };
4562 Member.prototype.set$generator = function(value) { return this.generator = value ; }; 4565 Member.prototype.set$generator = function(value) { return this.generator = value ; };
4563 Member.prototype.get$library = function() { 4566 Member.prototype.get$library = function() {
4564 return this.declaringType.get$library(); 4567 return this.declaringType.get$library();
4565 } 4568 }
4566 Member.prototype.get$isPrivate = function() { 4569 Member.prototype.get$isPrivate = function() {
4567 return this.name.startsWith('_'); 4570 return this.name.startsWith('_');
4568 } 4571 }
4569 Member.prototype.get$isConstructor = function() { 4572 Member.prototype.get$isConstructor = function() {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
4676 Member.prototype.computeValue$0 = Member.prototype.computeValue; 4679 Member.prototype.computeValue$0 = Member.prototype.computeValue;
4677 Member.prototype.hashCode$0 = Member.prototype.hashCode; 4680 Member.prototype.hashCode$0 = Member.prototype.hashCode;
4678 Member.prototype.invoke$4 = function($0, $1, $2, $3) { 4681 Member.prototype.invoke$4 = function($0, $1, $2, $3) {
4679 return this.invoke($0, $1, $2, $3, false); 4682 return this.invoke($0, $1, $2, $3, false);
4680 }; 4683 };
4681 Member.prototype.invoke$4$isDynamic = Member.prototype.invoke; 4684 Member.prototype.invoke$4$isDynamic = Member.prototype.invoke;
4682 Member.prototype.invoke$5 = Member.prototype.invoke; 4685 Member.prototype.invoke$5 = Member.prototype.invoke;
4683 Member.prototype.provideFieldSyntax$0 = Member.prototype.provideFieldSyntax; 4686 Member.prototype.provideFieldSyntax$0 = Member.prototype.provideFieldSyntax;
4684 Member.prototype.providePropertySyntax$0 = Member.prototype.providePropertySynta x; 4687 Member.prototype.providePropertySyntax$0 = Member.prototype.providePropertySynta x;
4685 // ********** Code for TypeMember ************** 4688 // ********** Code for TypeMember **************
4689 $inherits(TypeMember, Member);
4686 function TypeMember(type) { 4690 function TypeMember(type) {
4687 this.type = type; 4691 this.type = type;
4688 // Initializers done 4692 // Initializers done
4689 Member.call(this, type.name, type.library.topType); 4693 Member.call(this, type.name, type.library.topType);
4690 } 4694 }
4691 $inherits(TypeMember, Member);
4692 TypeMember.prototype.get$type = function() { return this.type; }; 4695 TypeMember.prototype.get$type = function() { return this.type; };
4693 TypeMember.prototype.get$span = function() { 4696 TypeMember.prototype.get$span = function() {
4694 return this.type.definition.span; 4697 return this.type.definition.span;
4695 } 4698 }
4696 TypeMember.prototype.get$isStatic = function() { 4699 TypeMember.prototype.get$isStatic = function() {
4697 return true; 4700 return true;
4698 } 4701 }
4699 TypeMember.prototype.get$returnType = function() { 4702 TypeMember.prototype.get$returnType = function() {
4700 return $globals.world.varType; 4703 return $globals.world.varType;
4701 } 4704 }
(...skipping 28 matching lines...) Expand all
4730 }; 4733 };
4731 TypeMember.prototype._set$4$isDynamic = TypeMember.prototype._set; 4734 TypeMember.prototype._set$4$isDynamic = TypeMember.prototype._set;
4732 TypeMember.prototype._set$5 = TypeMember.prototype._set; 4735 TypeMember.prototype._set$5 = TypeMember.prototype._set;
4733 TypeMember.prototype.canInvoke$2 = TypeMember.prototype.canInvoke; 4736 TypeMember.prototype.canInvoke$2 = TypeMember.prototype.canInvoke;
4734 TypeMember.prototype.invoke$4 = function($0, $1, $2, $3) { 4737 TypeMember.prototype.invoke$4 = function($0, $1, $2, $3) {
4735 return this.invoke($0, $1, $2, $3, false); 4738 return this.invoke($0, $1, $2, $3, false);
4736 }; 4739 };
4737 TypeMember.prototype.invoke$4$isDynamic = TypeMember.prototype.invoke; 4740 TypeMember.prototype.invoke$4$isDynamic = TypeMember.prototype.invoke;
4738 TypeMember.prototype.invoke$5 = TypeMember.prototype.invoke; 4741 TypeMember.prototype.invoke$5 = TypeMember.prototype.invoke;
4739 // ********** Code for FieldMember ************** 4742 // ********** Code for FieldMember **************
4743 $inherits(FieldMember, Member);
4740 function FieldMember(name, declaringType, definition, value) { 4744 function FieldMember(name, declaringType, definition, value) {
4741 this._providePropertySyntax = false 4745 this._providePropertySyntax = false
4742 this._computing = false 4746 this._computing = false
4743 this.definition = definition; 4747 this.definition = definition;
4744 this.value = value; 4748 this.value = value;
4745 this.isNative = false; 4749 this.isNative = false;
4746 // Initializers done 4750 // Initializers done
4747 Member.call(this, name, declaringType); 4751 Member.call(this, name, declaringType);
4748 } 4752 }
4749 $inherits(FieldMember, Member);
4750 FieldMember.prototype.get$definition = function() { return this.definition; }; 4753 FieldMember.prototype.get$definition = function() { return this.definition; };
4751 FieldMember.prototype.get$value = function() { return this.value; }; 4754 FieldMember.prototype.get$value = function() { return this.value; };
4752 FieldMember.prototype.get$type = function() { return this.type; }; 4755 FieldMember.prototype.get$type = function() { return this.type; };
4753 FieldMember.prototype.set$type = function(value) { return this.type = value; }; 4756 FieldMember.prototype.set$type = function(value) { return this.type = value; };
4754 FieldMember.prototype.get$isStatic = function() { return this.isStatic; }; 4757 FieldMember.prototype.get$isStatic = function() { return this.isStatic; };
4755 FieldMember.prototype.set$isStatic = function(value) { return this.isStatic = va lue; }; 4758 FieldMember.prototype.set$isStatic = function(value) { return this.isStatic = va lue; };
4756 FieldMember.prototype.get$isFinal = function() { return this.isFinal; }; 4759 FieldMember.prototype.get$isFinal = function() { return this.isFinal; };
4757 FieldMember.prototype.set$isFinal = function(value) { return this.isFinal = valu e; }; 4760 FieldMember.prototype.set$isFinal = function(value) { return this.isFinal = valu e; };
4758 FieldMember.prototype.get$isNative = function() { return this.isNative; }; 4761 FieldMember.prototype.get$isNative = function() { return this.isNative; };
4759 FieldMember.prototype.set$isNative = function(value) { return this.isNative = va lue; }; 4762 FieldMember.prototype.set$isNative = function(value) { return this.isNative = va lue; };
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
4913 FieldMember.prototype._set$4 = function($0, $1, $2, $3) { 4916 FieldMember.prototype._set$4 = function($0, $1, $2, $3) {
4914 return this._set($0, $1, $2, $3, false); 4917 return this._set($0, $1, $2, $3, false);
4915 }; 4918 };
4916 FieldMember.prototype._set$4$isDynamic = FieldMember.prototype._set; 4919 FieldMember.prototype._set$4$isDynamic = FieldMember.prototype._set;
4917 FieldMember.prototype._set$5 = FieldMember.prototype._set; 4920 FieldMember.prototype._set$5 = FieldMember.prototype._set;
4918 FieldMember.prototype.computeValue$0 = FieldMember.prototype.computeValue; 4921 FieldMember.prototype.computeValue$0 = FieldMember.prototype.computeValue;
4919 FieldMember.prototype.provideFieldSyntax$0 = FieldMember.prototype.provideFieldS yntax; 4922 FieldMember.prototype.provideFieldSyntax$0 = FieldMember.prototype.provideFieldS yntax;
4920 FieldMember.prototype.providePropertySyntax$0 = FieldMember.prototype.providePro pertySyntax; 4923 FieldMember.prototype.providePropertySyntax$0 = FieldMember.prototype.providePro pertySyntax;
4921 FieldMember.prototype.resolve$0 = FieldMember.prototype.resolve; 4924 FieldMember.prototype.resolve$0 = FieldMember.prototype.resolve;
4922 // ********** Code for PropertyMember ************** 4925 // ********** Code for PropertyMember **************
4926 $inherits(PropertyMember, Member);
4923 function PropertyMember(name, declaringType) { 4927 function PropertyMember(name, declaringType) {
4924 this._provideFieldSyntax = false 4928 this._provideFieldSyntax = false
4925 // Initializers done 4929 // Initializers done
4926 Member.call(this, name, declaringType); 4930 Member.call(this, name, declaringType);
4927 } 4931 }
4928 $inherits(PropertyMember, Member);
4929 PropertyMember.prototype.get$getter = function() { return this.getter; }; 4932 PropertyMember.prototype.get$getter = function() { return this.getter; };
4930 PropertyMember.prototype.set$getter = function(value) { return this.getter = val ue; }; 4933 PropertyMember.prototype.set$getter = function(value) { return this.getter = val ue; };
4931 PropertyMember.prototype.get$setter = function() { return this.setter; }; 4934 PropertyMember.prototype.get$setter = function() { return this.setter; };
4932 PropertyMember.prototype.set$setter = function(value) { return this.setter = val ue; }; 4935 PropertyMember.prototype.set$setter = function(value) { return this.setter = val ue; };
4933 PropertyMember.prototype.get$span = function() { 4936 PropertyMember.prototype.get$span = function() {
4934 return this.getter != null ? this.getter.get$span() : null; 4937 return this.getter != null ? this.getter.get$span() : null;
4935 } 4938 }
4936 PropertyMember.prototype.get$canGet = function() { 4939 PropertyMember.prototype.get$canGet = function() {
4937 return this.getter != null; 4940 return this.getter != null;
4938 } 4941 }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
5014 PropertyMember.prototype._get$4 = PropertyMember.prototype._get; 5017 PropertyMember.prototype._get$4 = PropertyMember.prototype._get;
5015 PropertyMember.prototype._set$4 = function($0, $1, $2, $3) { 5018 PropertyMember.prototype._set$4 = function($0, $1, $2, $3) {
5016 return this._set($0, $1, $2, $3, false); 5019 return this._set($0, $1, $2, $3, false);
5017 }; 5020 };
5018 PropertyMember.prototype._set$4$isDynamic = PropertyMember.prototype._set; 5021 PropertyMember.prototype._set$4$isDynamic = PropertyMember.prototype._set;
5019 PropertyMember.prototype._set$5 = PropertyMember.prototype._set; 5022 PropertyMember.prototype._set$5 = PropertyMember.prototype._set;
5020 PropertyMember.prototype.provideFieldSyntax$0 = PropertyMember.prototype.provide FieldSyntax; 5023 PropertyMember.prototype.provideFieldSyntax$0 = PropertyMember.prototype.provide FieldSyntax;
5021 PropertyMember.prototype.providePropertySyntax$0 = PropertyMember.prototype.prov idePropertySyntax; 5024 PropertyMember.prototype.providePropertySyntax$0 = PropertyMember.prototype.prov idePropertySyntax;
5022 PropertyMember.prototype.resolve$0 = PropertyMember.prototype.resolve; 5025 PropertyMember.prototype.resolve$0 = PropertyMember.prototype.resolve;
5023 // ********** Code for ConcreteMember ************** 5026 // ********** Code for ConcreteMember **************
5027 $inherits(ConcreteMember, Member);
5024 function ConcreteMember(name, declaringType, baseMember) { 5028 function ConcreteMember(name, declaringType, baseMember) {
5025 this.baseMember = baseMember; 5029 this.baseMember = baseMember;
5026 // Initializers done 5030 // Initializers done
5027 Member.call(this, name, declaringType); 5031 Member.call(this, name, declaringType);
5028 this.parameters = []; 5032 this.parameters = [];
5029 this.returnType = this.baseMember.get$returnType().resolveTypeParams(declaring Type); 5033 this.returnType = this.baseMember.get$returnType().resolveTypeParams(declaring Type);
5030 var $$list = this.baseMember.get$parameters(); 5034 var $$list = this.baseMember.get$parameters();
5031 for (var $$i = 0;$$i < $$list.length; $$i++) { 5035 for (var $$i = 0;$$i < $$list.length; $$i++) {
5032 var p = $$list.$index($$i); 5036 var p = $$list.$index($$i);
5033 var newType = p.get$type().resolveTypeParams$1(declaringType); 5037 var newType = p.get$type().resolveTypeParams$1(declaringType);
5034 if ($ne(newType, p.get$type())) { 5038 if ($ne(newType, p.get$type())) {
5035 this.parameters.add(p.copyWithNewType$2(this, newType)); 5039 this.parameters.add(p.copyWithNewType$2(this, newType));
5036 } 5040 }
5037 else { 5041 else {
5038 this.parameters.add(p); 5042 this.parameters.add(p);
5039 } 5043 }
5040 } 5044 }
5041 } 5045 }
5042 $inherits(ConcreteMember, Member);
5043 ConcreteMember.prototype.get$returnType = function() { return this.returnType; } ; 5046 ConcreteMember.prototype.get$returnType = function() { return this.returnType; } ;
5044 ConcreteMember.prototype.set$returnType = function(value) { return this.returnTy pe = value; }; 5047 ConcreteMember.prototype.set$returnType = function(value) { return this.returnTy pe = value; };
5045 ConcreteMember.prototype.get$parameters = function() { return this.parameters; } ; 5048 ConcreteMember.prototype.get$parameters = function() { return this.parameters; } ;
5046 ConcreteMember.prototype.set$parameters = function(value) { return this.paramete rs = value; }; 5049 ConcreteMember.prototype.set$parameters = function(value) { return this.paramete rs = value; };
5047 ConcreteMember.prototype.get$span = function() { 5050 ConcreteMember.prototype.get$span = function() {
5048 return this.baseMember.get$span(); 5051 return this.baseMember.get$span();
5049 } 5052 }
5050 ConcreteMember.prototype.get$isStatic = function() { 5053 ConcreteMember.prototype.get$isStatic = function() {
5051 return this.baseMember.get$isStatic(); 5054 return this.baseMember.get$isStatic();
5052 } 5055 }
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
5155 ConcreteMember.prototype.canInvoke$2 = ConcreteMember.prototype.canInvoke; 5158 ConcreteMember.prototype.canInvoke$2 = ConcreteMember.prototype.canInvoke;
5156 ConcreteMember.prototype.computeValue$0 = ConcreteMember.prototype.computeValue; 5159 ConcreteMember.prototype.computeValue$0 = ConcreteMember.prototype.computeValue;
5157 ConcreteMember.prototype.invoke$4 = function($0, $1, $2, $3) { 5160 ConcreteMember.prototype.invoke$4 = function($0, $1, $2, $3) {
5158 return this.invoke($0, $1, $2, $3, false); 5161 return this.invoke($0, $1, $2, $3, false);
5159 }; 5162 };
5160 ConcreteMember.prototype.invoke$4$isDynamic = ConcreteMember.prototype.invoke; 5163 ConcreteMember.prototype.invoke$4$isDynamic = ConcreteMember.prototype.invoke;
5161 ConcreteMember.prototype.invoke$5 = ConcreteMember.prototype.invoke; 5164 ConcreteMember.prototype.invoke$5 = ConcreteMember.prototype.invoke;
5162 ConcreteMember.prototype.provideFieldSyntax$0 = ConcreteMember.prototype.provide FieldSyntax; 5165 ConcreteMember.prototype.provideFieldSyntax$0 = ConcreteMember.prototype.provide FieldSyntax;
5163 ConcreteMember.prototype.providePropertySyntax$0 = ConcreteMember.prototype.prov idePropertySyntax; 5166 ConcreteMember.prototype.providePropertySyntax$0 = ConcreteMember.prototype.prov idePropertySyntax;
5164 // ********** Code for MethodMember ************** 5167 // ********** Code for MethodMember **************
5168 $inherits(MethodMember, Member);
5165 function MethodMember(name, declaringType, definition) { 5169 function MethodMember(name, declaringType, definition) {
5166 this.isStatic = false 5170 this.isStatic = false
5167 this.isAbstract = false 5171 this.isAbstract = false
5168 this.isConst = false 5172 this.isConst = false
5169 this.isFactory = false 5173 this.isFactory = false
5170 this.isLambda = false 5174 this.isLambda = false
5171 this._providePropertySyntax = false 5175 this._providePropertySyntax = false
5172 this._provideFieldSyntax = false 5176 this._provideFieldSyntax = false
5173 this._provideOptionalParamInfo = false 5177 this._provideOptionalParamInfo = false
5174 this.definition = definition; 5178 this.definition = definition;
5175 // Initializers done 5179 // Initializers done
5176 Member.call(this, name, declaringType); 5180 Member.call(this, name, declaringType);
5177 } 5181 }
5178 $inherits(MethodMember, Member);
5179 MethodMember.prototype.get$definition = function() { return this.definition; }; 5182 MethodMember.prototype.get$definition = function() { return this.definition; };
5180 MethodMember.prototype.set$definition = function(value) { return this.definition = value; }; 5183 MethodMember.prototype.set$definition = function(value) { return this.definition = value; };
5181 MethodMember.prototype.get$returnType = function() { return this.returnType; }; 5184 MethodMember.prototype.get$returnType = function() { return this.returnType; };
5182 MethodMember.prototype.set$returnType = function(value) { return this.returnType = value; }; 5185 MethodMember.prototype.set$returnType = function(value) { return this.returnType = value; };
5183 MethodMember.prototype.get$parameters = function() { return this.parameters; }; 5186 MethodMember.prototype.get$parameters = function() { return this.parameters; };
5184 MethodMember.prototype.set$parameters = function(value) { return this.parameters = value; }; 5187 MethodMember.prototype.set$parameters = function(value) { return this.parameters = value; };
5185 MethodMember.prototype.get$typeParameters = function() { return this.typeParamet ers; }; 5188 MethodMember.prototype.get$typeParameters = function() { return this.typeParamet ers; };
5186 MethodMember.prototype.set$typeParameters = function(value) { return this.typePa rameters = value; }; 5189 MethodMember.prototype.set$typeParameters = function(value) { return this.typePa rameters = value; };
5187 MethodMember.prototype.get$isStatic = function() { return this.isStatic; }; 5190 MethodMember.prototype.get$isStatic = function() { return this.isStatic; };
5188 MethodMember.prototype.set$isStatic = function(value) { return this.isStatic = v alue; }; 5191 MethodMember.prototype.set$isStatic = function(value) { return this.isStatic = v alue; };
(...skipping 1166 matching lines...) Expand 10 before | Expand all | Expand 10 after
6355 return this.previous; 6358 return this.previous;
6356 } 6359 }
6357 InterpStack.push = function(stack, quote, isMultiline) { 6360 InterpStack.push = function(stack, quote, isMultiline) {
6358 var newStack = new InterpStack(stack, quote, isMultiline); 6361 var newStack = new InterpStack(stack, quote, isMultiline);
6359 if (stack != null) newStack.set$previous(stack); 6362 if (stack != null) newStack.set$previous(stack);
6360 return newStack; 6363 return newStack;
6361 } 6364 }
6362 InterpStack.prototype.next$0 = function() { 6365 InterpStack.prototype.next$0 = function() {
6363 return this.next(); 6366 return this.next();
6364 }; 6367 };
6368 // ********** Code for TokenizerHelpers **************
6369 function TokenizerHelpers() {
6370 // Initializers done
6371 }
6372 TokenizerHelpers.isIdentifierStart = function(c) {
6373 return ((c >= 97 && c <= 122) || (c >= 65 && c <= 90) || c == 95);
6374 }
6375 TokenizerHelpers.isDigit = function(c) {
6376 return (c >= 48 && c <= 57);
6377 }
6378 TokenizerHelpers.isHexDigit = function(c) {
6379 return (TokenizerHelpers.isDigit(c) || (c >= 97 && c <= 102) || (c >= 65 && c <= 70));
6380 }
6381 TokenizerHelpers.isIdentifierPart = function(c) {
6382 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c) | | c == 36);
6383 }
6384 TokenizerHelpers.isInterpIdentifierPart = function(c) {
6385 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c));
6386 }
6365 // ********** Code for TokenizerBase ************** 6387 // ********** Code for TokenizerBase **************
6388 $inherits(TokenizerBase, TokenizerHelpers);
6366 function TokenizerBase(_source, _skipWhitespace, index) { 6389 function TokenizerBase(_source, _skipWhitespace, index) {
6367 this._source = _source; 6390 this._source = _source;
6368 this._skipWhitespace = _skipWhitespace; 6391 this._skipWhitespace = _skipWhitespace;
6369 this._index = index; 6392 this._lang_index = index;
6370 // Initializers done 6393 // Initializers done
6371 TokenizerHelpers.call(this); 6394 TokenizerHelpers.call(this);
6372 this._text = this._source.get$text(); 6395 this._text = this._source.get$text();
6373 } 6396 }
6374 $inherits(TokenizerBase, TokenizerHelpers);
6375 TokenizerBase.prototype._nextChar = function() { 6397 TokenizerBase.prototype._nextChar = function() {
6376 if (this._index < this._text.length) { 6398 if (this._lang_index < this._text.length) {
6377 return this._text.charCodeAt(this._index++); 6399 return this._text.charCodeAt(this._lang_index++);
6378 } 6400 }
6379 else { 6401 else {
6380 return 0; 6402 return 0;
6381 } 6403 }
6382 } 6404 }
6383 TokenizerBase.prototype._peekChar = function() { 6405 TokenizerBase.prototype._peekChar = function() {
6384 if (this._index < this._text.length) { 6406 if (this._lang_index < this._text.length) {
6385 return this._text.charCodeAt(this._index); 6407 return this._text.charCodeAt(this._lang_index);
6386 } 6408 }
6387 else { 6409 else {
6388 return 0; 6410 return 0;
6389 } 6411 }
6390 } 6412 }
6391 TokenizerBase.prototype._maybeEatChar = function(ch) { 6413 TokenizerBase.prototype._maybeEatChar = function(ch) {
6392 if (this._index < this._text.length) { 6414 if (this._lang_index < this._text.length) {
6393 if (this._text.charCodeAt(this._index) == ch) { 6415 if (this._text.charCodeAt(this._lang_index) == ch) {
6394 this._index++; 6416 this._lang_index++;
6395 return true; 6417 return true;
6396 } 6418 }
6397 else { 6419 else {
6398 return false; 6420 return false;
6399 } 6421 }
6400 } 6422 }
6401 else { 6423 else {
6402 return false; 6424 return false;
6403 } 6425 }
6404 } 6426 }
6405 TokenizerBase.prototype._finishToken = function(kind) { 6427 TokenizerBase.prototype._finishToken = function(kind) {
6406 return new Token(kind, this._source, this._startIndex, this._index); 6428 return new Token(kind, this._source, this._startIndex, this._lang_index);
6407 } 6429 }
6408 TokenizerBase.prototype._errorToken = function() { 6430 TokenizerBase.prototype._errorToken = function() {
6409 return this._finishToken(65/*TokenKind.ERROR*/); 6431 return this._finishToken(65/*TokenKind.ERROR*/);
6410 } 6432 }
6411 TokenizerBase.prototype.finishWhitespace = function() { 6433 TokenizerBase.prototype.finishWhitespace = function() {
6412 this._index--; 6434 this._lang_index--;
6413 while (this._index < this._text.length) { 6435 while (this._lang_index < this._text.length) {
6414 var ch = this._text.charCodeAt(this._index++); 6436 var ch = this._text.charCodeAt(this._lang_index++);
6415 if (ch == 32 || ch == 9 || ch == 13) { 6437 if (ch == 32 || ch == 9 || ch == 13) {
6416 } 6438 }
6417 else if (ch == 10) { 6439 else if (ch == 10) {
6418 if (!this._skipWhitespace) { 6440 if (!this._skipWhitespace) {
6419 return this._finishToken(63/*TokenKind.WHITESPACE*/); 6441 return this._finishToken(63/*TokenKind.WHITESPACE*/);
6420 } 6442 }
6421 } 6443 }
6422 else { 6444 else {
6423 this._index--; 6445 this._lang_index--;
6424 if (this._skipWhitespace) { 6446 if (this._skipWhitespace) {
6425 return this.next(); 6447 return this.next();
6426 } 6448 }
6427 else { 6449 else {
6428 return this._finishToken(63/*TokenKind.WHITESPACE*/); 6450 return this._finishToken(63/*TokenKind.WHITESPACE*/);
6429 } 6451 }
6430 } 6452 }
6431 } 6453 }
6432 return this._finishToken(1/*TokenKind.END_OF_FILE*/); 6454 return this._finishToken(1/*TokenKind.END_OF_FILE*/);
6433 } 6455 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
6465 } 6487 }
6466 else { 6488 else {
6467 return this._finishToken(64/*TokenKind.COMMENT*/); 6489 return this._finishToken(64/*TokenKind.COMMENT*/);
6468 } 6490 }
6469 } 6491 }
6470 } 6492 }
6471 } 6493 }
6472 return this._errorToken(); 6494 return this._errorToken();
6473 } 6495 }
6474 TokenizerBase.prototype.eatDigits = function() { 6496 TokenizerBase.prototype.eatDigits = function() {
6475 while (this._index < this._text.length) { 6497 while (this._lang_index < this._text.length) {
6476 if (TokenizerHelpers.isDigit(this._text.charCodeAt(this._index))) { 6498 if (TokenizerHelpers.isDigit(this._text.charCodeAt(this._lang_index))) {
6477 this._index++; 6499 this._lang_index++;
6478 } 6500 }
6479 else { 6501 else {
6480 return; 6502 return;
6481 } 6503 }
6482 } 6504 }
6483 } 6505 }
6484 TokenizerBase.prototype.eatHexDigits = function() { 6506 TokenizerBase.prototype.eatHexDigits = function() {
6485 while (this._index < this._text.length) { 6507 while (this._lang_index < this._text.length) {
6486 if (TokenizerHelpers.isHexDigit(this._text.charCodeAt(this._index))) { 6508 if (TokenizerHelpers.isHexDigit(this._text.charCodeAt(this._lang_index))) {
6487 this._index++; 6509 this._lang_index++;
6488 } 6510 }
6489 else { 6511 else {
6490 return; 6512 return;
6491 } 6513 }
6492 } 6514 }
6493 } 6515 }
6494 TokenizerBase.prototype.maybeEatHexDigit = function() { 6516 TokenizerBase.prototype.maybeEatHexDigit = function() {
6495 if (this._index < this._text.length && TokenizerHelpers.isHexDigit(this._text. charCodeAt(this._index))) { 6517 if (this._lang_index < this._text.length && TokenizerHelpers.isHexDigit(this._ text.charCodeAt(this._lang_index))) {
6496 this._index++; 6518 this._lang_index++;
6497 return true; 6519 return true;
6498 } 6520 }
6499 return false; 6521 return false;
6500 } 6522 }
6501 TokenizerBase.prototype.finishHex = function() { 6523 TokenizerBase.prototype.finishHex = function() {
6502 this.eatHexDigits(); 6524 this.eatHexDigits();
6503 return this._finishToken(61/*TokenKind.HEX_INTEGER*/); 6525 return this._finishToken(61/*TokenKind.HEX_INTEGER*/);
6504 } 6526 }
6505 TokenizerBase.prototype.finishNumber = function() { 6527 TokenizerBase.prototype.finishNumber = function() {
6506 this.eatDigits(); 6528 this.eatDigits();
6507 if (this._peekChar() == 46) { 6529 if (this._peekChar() == 46) {
6508 this._nextChar(); 6530 this._nextChar();
6509 if (TokenizerHelpers.isDigit(this._peekChar())) { 6531 if (TokenizerHelpers.isDigit(this._peekChar())) {
6510 this.eatDigits(); 6532 this.eatDigits();
6511 return this.finishNumberExtra(62/*TokenKind.DOUBLE*/); 6533 return this.finishNumberExtra(62/*TokenKind.DOUBLE*/);
6512 } 6534 }
6513 else { 6535 else {
6514 this._index--; 6536 this._lang_index--;
6515 } 6537 }
6516 } 6538 }
6517 return this.finishNumberExtra(60/*TokenKind.INTEGER*/); 6539 return this.finishNumberExtra(60/*TokenKind.INTEGER*/);
6518 } 6540 }
6519 TokenizerBase.prototype.finishNumberExtra = function(kind) { 6541 TokenizerBase.prototype.finishNumberExtra = function(kind) {
6520 if (this._maybeEatChar(101) || this._maybeEatChar(69)) { 6542 if (this._maybeEatChar(101) || this._maybeEatChar(69)) {
6521 kind = 62/*TokenKind.DOUBLE*/; 6543 kind = 62/*TokenKind.DOUBLE*/;
6522 this._maybeEatChar(45); 6544 this._maybeEatChar(45);
6523 this._maybeEatChar(43); 6545 this._maybeEatChar(43);
6524 this.eatDigits(); 6546 this.eatDigits();
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
6638 TokenizerBase.prototype.eatEscapeSequence = function() { 6660 TokenizerBase.prototype.eatEscapeSequence = function() {
6639 var hex; 6661 var hex;
6640 switch (this._nextChar()) { 6662 switch (this._nextChar()) {
6641 case 120: 6663 case 120:
6642 6664
6643 return this.maybeEatHexDigit() && this.maybeEatHexDigit(); 6665 return this.maybeEatHexDigit() && this.maybeEatHexDigit();
6644 6666
6645 case 117: 6667 case 117:
6646 6668
6647 if (this._maybeEatChar(123)) { 6669 if (this._maybeEatChar(123)) {
6648 var start = this._index; 6670 var start = this._lang_index;
6649 this.eatHexDigits(); 6671 this.eatHexDigits();
6650 var chars = this._index - start; 6672 var chars = this._lang_index - start;
6651 if (chars > 0 && chars <= 6 && this._maybeEatChar(125)) { 6673 if (chars > 0 && chars <= 6 && this._maybeEatChar(125)) {
6652 hex = this._text.substring(start, start + chars); 6674 hex = this._text.substring(start, start + chars);
6653 break; 6675 break;
6654 } 6676 }
6655 else { 6677 else {
6656 return false; 6678 return false;
6657 } 6679 }
6658 } 6680 }
6659 else { 6681 else {
6660 if (this.maybeEatHexDigit() && this.maybeEatHexDigit() && this.maybeEatH exDigit() && this.maybeEatHexDigit()) { 6682 if (this.maybeEatHexDigit() && this.maybeEatHexDigit() && this.maybeEatH exDigit() && this.maybeEatHexDigit()) {
6661 hex = this._text.substring(this._index - 4, this._index); 6683 hex = this._text.substring(this._lang_index - 4, this._lang_index);
6662 break; 6684 break;
6663 } 6685 }
6664 else { 6686 else {
6665 return false; 6687 return false;
6666 } 6688 }
6667 } 6689 }
6668 6690
6669 default: 6691 default:
6670 6692
6671 return true; 6693 return true;
(...skipping 10 matching lines...) Expand all
6682 else { 6704 else {
6683 return this._finishToken(14/*TokenKind.DOT*/); 6705 return this._finishToken(14/*TokenKind.DOT*/);
6684 } 6706 }
6685 } 6707 }
6686 TokenizerBase.prototype.finishIdentifier = function(ch) { 6708 TokenizerBase.prototype.finishIdentifier = function(ch) {
6687 if (this._interpStack != null && this._interpStack.depth == -1) { 6709 if (this._interpStack != null && this._interpStack.depth == -1) {
6688 this._interpStack.depth = 0; 6710 this._interpStack.depth = 0;
6689 if (ch == 36) { 6711 if (ch == 36) {
6690 return this._errorToken(); 6712 return this._errorToken();
6691 } 6713 }
6692 while (this._index < this._text.length) { 6714 while (this._lang_index < this._text.length) {
6693 if (!TokenizerHelpers.isInterpIdentifierPart(this._text.charCodeAt(this._i ndex++))) { 6715 if (!TokenizerHelpers.isInterpIdentifierPart(this._text.charCodeAt(this._l ang_index++))) {
6694 this._index--; 6716 this._lang_index--;
6695 break; 6717 break;
6696 } 6718 }
6697 } 6719 }
6698 } 6720 }
6699 else { 6721 else {
6700 while (this._index < this._text.length) { 6722 while (this._lang_index < this._text.length) {
6701 if (!TokenizerHelpers.isIdentifierPart(this._text.charCodeAt(this._index++ ))) { 6723 if (!TokenizerHelpers.isIdentifierPart(this._text.charCodeAt(this._lang_in dex++))) {
6702 this._index--; 6724 this._lang_index--;
6703 break; 6725 break;
6704 } 6726 }
6705 } 6727 }
6706 } 6728 }
6707 var kind = this.getIdentifierKind(); 6729 var kind = this.getIdentifierKind();
6708 if (kind == 70/*TokenKind.IDENTIFIER*/) { 6730 if (kind == 70/*TokenKind.IDENTIFIER*/) {
6709 return this._finishToken(70/*TokenKind.IDENTIFIER*/); 6731 return this._finishToken(70/*TokenKind.IDENTIFIER*/);
6710 } 6732 }
6711 else { 6733 else {
6712 return this._finishToken(kind); 6734 return this._finishToken(kind);
6713 } 6735 }
6714 } 6736 }
6715 TokenizerBase.prototype.next$0 = TokenizerBase.prototype.next; 6737 TokenizerBase.prototype.next$0 = TokenizerBase.prototype.next;
6716 // ********** Code for Tokenizer ************** 6738 // ********** Code for Tokenizer **************
6739 $inherits(Tokenizer, TokenizerBase);
6717 function Tokenizer(source, skipWhitespace, index) { 6740 function Tokenizer(source, skipWhitespace, index) {
6718 // Initializers done 6741 // Initializers done
6719 TokenizerBase.call(this, source, skipWhitespace, index); 6742 TokenizerBase.call(this, source, skipWhitespace, index);
6720 } 6743 }
6721 $inherits(Tokenizer, TokenizerBase);
6722 Tokenizer.prototype.next = function() { 6744 Tokenizer.prototype.next = function() {
6723 this._startIndex = this._index; 6745 this._startIndex = this._lang_index;
6724 if (this._interpStack != null && this._interpStack.depth == 0) { 6746 if (this._interpStack != null && this._interpStack.depth == 0) {
6725 var istack = this._interpStack; 6747 var istack = this._interpStack;
6726 this._interpStack = this._interpStack.pop(); 6748 this._interpStack = this._interpStack.pop();
6727 if (istack.get$isMultiline()) { 6749 if (istack.get$isMultiline()) {
6728 return this.finishMultilineString(istack.get$quote()); 6750 return this.finishMultilineString(istack.get$quote());
6729 } 6751 }
6730 else { 6752 else {
6731 return this.finishStringBody(istack.get$quote()); 6753 return this.finishStringBody(istack.get$quote());
6732 } 6754 }
6733 } 6755 }
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
7048 return this.finishNumber(); 7070 return this.finishNumber();
7049 } 7071 }
7050 else { 7072 else {
7051 return this._errorToken(); 7073 return this._errorToken();
7052 } 7074 }
7053 7075
7054 } 7076 }
7055 } 7077 }
7056 Tokenizer.prototype.getIdentifierKind = function() { 7078 Tokenizer.prototype.getIdentifierKind = function() {
7057 var i0 = this._startIndex; 7079 var i0 = this._startIndex;
7058 switch (this._index - i0) { 7080 switch (this._lang_index - i0) {
7059 case 2: 7081 case 2:
7060 7082
7061 if (this._text.charCodeAt(i0) == 100) { 7083 if (this._text.charCodeAt(i0) == 100) {
7062 if (this._text.charCodeAt(i0 + 1) == 111) return 95/*TokenKind.DO*/; 7084 if (this._text.charCodeAt(i0 + 1) == 111) return 95/*TokenKind.DO*/;
7063 } 7085 }
7064 else if (this._text.charCodeAt(i0) == 105) { 7086 else if (this._text.charCodeAt(i0) == 105) {
7065 if (this._text.charCodeAt(i0 + 1) == 102) { 7087 if (this._text.charCodeAt(i0 + 1) == 102) {
7066 return 101/*TokenKind.IF*/; 7088 return 101/*TokenKind.IF*/;
7067 } 7089 }
7068 else if (this._text.charCodeAt(i0 + 1) == 110) { 7090 else if (this._text.charCodeAt(i0 + 1) == 110) {
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
7237 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 77/*TokenKind.IMPLEMENTS*/; 7259 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 77/*TokenKind.IMPLEMENTS*/;
7238 return 70/*TokenKind.IDENTIFIER*/; 7260 return 70/*TokenKind.IDENTIFIER*/;
7239 7261
7240 default: 7262 default:
7241 7263
7242 return 70/*TokenKind.IDENTIFIER*/; 7264 return 70/*TokenKind.IDENTIFIER*/;
7243 7265
7244 } 7266 }
7245 } 7267 }
7246 Tokenizer.prototype.next$0 = Tokenizer.prototype.next; 7268 Tokenizer.prototype.next$0 = Tokenizer.prototype.next;
7247 // ********** Code for TokenizerHelpers **************
7248 function TokenizerHelpers() {
7249 // Initializers done
7250 }
7251 TokenizerHelpers.isIdentifierStart = function(c) {
7252 return ((c >= 97 && c <= 122) || (c >= 65 && c <= 90) || c == 95);
7253 }
7254 TokenizerHelpers.isDigit = function(c) {
7255 return (c >= 48 && c <= 57);
7256 }
7257 TokenizerHelpers.isHexDigit = function(c) {
7258 return (TokenizerHelpers.isDigit(c) || (c >= 97 && c <= 102) || (c >= 65 && c <= 70));
7259 }
7260 TokenizerHelpers.isIdentifierPart = function(c) {
7261 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c) | | c == 36);
7262 }
7263 TokenizerHelpers.isInterpIdentifierPart = function(c) {
7264 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c));
7265 }
7266 // ********** Code for TokenKind ************** 7269 // ********** Code for TokenKind **************
7267 function TokenKind() {} 7270 function TokenKind() {}
7268 TokenKind.kindToString = function(kind) { 7271 TokenKind.kindToString = function(kind) {
7269 switch (kind) { 7272 switch (kind) {
7270 case 1/*TokenKind.END_OF_FILE*/: 7273 case 1/*TokenKind.END_OF_FILE*/:
7271 7274
7272 return "end of file"; 7275 return "end of file";
7273 7276
7274 case 2/*TokenKind.LPAREN*/: 7277 case 2/*TokenKind.LPAREN*/:
7275 7278
(...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after
8086 this._afterParens = []; 8089 this._afterParens = [];
8087 } 8090 }
8088 Parser.prototype.get$enableAwait = function() { 8091 Parser.prototype.get$enableAwait = function() {
8089 return $globals.experimentalAwaitPhase != null; 8092 return $globals.experimentalAwaitPhase != null;
8090 } 8093 }
8091 Parser.prototype.isPrematureEndOfFile = function() { 8094 Parser.prototype.isPrematureEndOfFile = function() {
8092 if (this.throwOnIncomplete && this._maybeEat(1/*TokenKind.END_OF_FILE*/) || th is._maybeEat(68/*TokenKind.INCOMPLETE_MULTILINE_STRING_DQ*/) || this._maybeEat(6 9/*TokenKind.INCOMPLETE_MULTILINE_STRING_SQ*/)) { 8095 if (this.throwOnIncomplete && this._maybeEat(1/*TokenKind.END_OF_FILE*/) || th is._maybeEat(68/*TokenKind.INCOMPLETE_MULTILINE_STRING_DQ*/) || this._maybeEat(6 9/*TokenKind.INCOMPLETE_MULTILINE_STRING_SQ*/)) {
8093 $throw(new IncompleteSourceException(this._previousToken)); 8096 $throw(new IncompleteSourceException(this._previousToken));
8094 } 8097 }
8095 else if (this._maybeEat(1/*TokenKind.END_OF_FILE*/)) { 8098 else if (this._maybeEat(1/*TokenKind.END_OF_FILE*/)) {
8096 this._error('unexpected end of file', this._peekToken.get$span()); 8099 this._lang_error('unexpected end of file', this._peekToken.get$span());
8097 return true; 8100 return true;
8098 } 8101 }
8099 else { 8102 else {
8100 return false; 8103 return false;
8101 } 8104 }
8102 } 8105 }
8103 Parser.prototype._recoverTo = function(kind1, kind2, kind3) { 8106 Parser.prototype._recoverTo = function(kind1, kind2, kind3) {
8104 while (!this.isPrematureEndOfFile()) { 8107 while (!this.isPrematureEndOfFile()) {
8105 var kind = this._peek(); 8108 var kind = this._peek();
8106 if (kind == kind1 || kind == kind2 || kind == kind3) { 8109 if (kind == kind1 || kind == kind2 || kind == kind3) {
8107 this._recover = false; 8110 this._recover = false;
8108 return true; 8111 return true;
8109 } 8112 }
8110 this._next(); 8113 this._lang_next();
8111 } 8114 }
8112 return false; 8115 return false;
8113 } 8116 }
8114 Parser.prototype._peek = function() { 8117 Parser.prototype._peek = function() {
8115 return this._peekToken.kind; 8118 return this._peekToken.kind;
8116 } 8119 }
8117 Parser.prototype._next = function() { 8120 Parser.prototype._lang_next = function() {
8118 this._previousToken = this._peekToken; 8121 this._previousToken = this._peekToken;
8119 this._peekToken = this.tokenizer.next(); 8122 this._peekToken = this.tokenizer.next();
8120 return this._previousToken; 8123 return this._previousToken;
8121 } 8124 }
8122 Parser.prototype._peekKind = function(kind) { 8125 Parser.prototype._peekKind = function(kind) {
8123 return this._peekToken.kind == kind; 8126 return this._peekToken.kind == kind;
8124 } 8127 }
8125 Parser.prototype._peekIdentifier = function() { 8128 Parser.prototype._peekIdentifier = function() {
8126 return this._isIdentifier(this._peekToken.kind); 8129 return this._isIdentifier(this._peekToken.kind);
8127 } 8130 }
(...skipping 14 matching lines...) Expand all
8142 if (!this._maybeEat(kind)) { 8145 if (!this._maybeEat(kind)) {
8143 this._errorExpected(TokenKind.kindToString(kind)); 8146 this._errorExpected(TokenKind.kindToString(kind));
8144 } 8147 }
8145 } 8148 }
8146 Parser.prototype._eatSemicolon = function() { 8149 Parser.prototype._eatSemicolon = function() {
8147 if (this.optionalSemicolons && this._peekKind(1/*TokenKind.END_OF_FILE*/)) ret urn; 8150 if (this.optionalSemicolons && this._peekKind(1/*TokenKind.END_OF_FILE*/)) ret urn;
8148 this._eat(10/*TokenKind.SEMICOLON*/); 8151 this._eat(10/*TokenKind.SEMICOLON*/);
8149 } 8152 }
8150 Parser.prototype._errorExpected = function(expected) { 8153 Parser.prototype._errorExpected = function(expected) {
8151 if (this.throwOnIncomplete) this.isPrematureEndOfFile(); 8154 if (this.throwOnIncomplete) this.isPrematureEndOfFile();
8152 var tok = this._next(); 8155 var tok = this._lang_next();
8153 var message = ('expected ' + expected + ', but found ' + tok); 8156 var message = ('expected ' + expected + ', but found ' + tok);
8154 this._error(message, tok.get$span()); 8157 this._lang_error(message, tok.get$span());
8155 } 8158 }
8156 Parser.prototype._error = function(message, location) { 8159 Parser.prototype._lang_error = function(message, location) {
8157 if (this._recover) return; 8160 if (this._recover) return;
8158 if (location == null) { 8161 if (location == null) {
8159 location = this._peekToken.get$span(); 8162 location = this._peekToken.get$span();
8160 } 8163 }
8161 $globals.world.fatal(message, location); 8164 $globals.world.fatal(message, location);
8162 this._recover = true; 8165 this._recover = true;
8163 } 8166 }
8164 Parser.prototype._skipBlock = function() { 8167 Parser.prototype._skipBlock = function() {
8165 var depth = 1; 8168 var depth = 1;
8166 this._eat(6/*TokenKind.LBRACE*/); 8169 this._eat(6/*TokenKind.LBRACE*/);
8167 while (true) { 8170 while (true) {
8168 var tok = this._next(); 8171 var tok = this._lang_next();
8169 if ($eq(tok.get$kind(), 6/*TokenKind.LBRACE*/)) { 8172 if ($eq(tok.get$kind(), 6/*TokenKind.LBRACE*/)) {
8170 depth += 1; 8173 depth += 1;
8171 } 8174 }
8172 else if ($eq(tok.get$kind(), 7/*TokenKind.RBRACE*/)) { 8175 else if ($eq(tok.get$kind(), 7/*TokenKind.RBRACE*/)) {
8173 depth -= 1; 8176 depth -= 1;
8174 if (depth == 0) return; 8177 if (depth == 0) return;
8175 } 8178 }
8176 else if ($eq(tok.get$kind(), 1/*TokenKind.END_OF_FILE*/)) { 8179 else if ($eq(tok.get$kind(), 1/*TokenKind.END_OF_FILE*/)) {
8177 this._error('unexpected end of file during diet parse', tok.get$span()); 8180 this._lang_error('unexpected end of file during diet parse', tok.get$span( ));
8178 return; 8181 return;
8179 } 8182 }
8180 } 8183 }
8181 } 8184 }
8182 Parser.prototype._makeSpan = function(start) { 8185 Parser.prototype._makeSpan = function(start) {
8183 return new SourceSpan(this.source, start, this._previousToken.end); 8186 return new SourceSpan(this.source, start, this._previousToken.end);
8184 } 8187 }
8185 Parser.prototype.compilationUnit = function() { 8188 Parser.prototype.compilationUnit = function() {
8186 var ret = []; 8189 var ret = [];
8187 this._maybeEat(13/*TokenKind.HASHBANG*/); 8190 this._maybeEat(13/*TokenKind.HASHBANG*/);
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
8308 } 8311 }
8309 else { 8312 else {
8310 return this.block(); 8313 return this.block();
8311 } 8314 }
8312 } 8315 }
8313 else if (!inExpression) { 8316 else if (!inExpression) {
8314 if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) { 8317 if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
8315 return null; 8318 return null;
8316 } 8319 }
8317 } 8320 }
8318 this._error('Expected function body (neither { nor => found)'); 8321 this._lang_error('Expected function body (neither { nor => found)');
8319 } 8322 }
8320 Parser.prototype.finishField = function(start, modifiers, typeParams, type, name , value) { 8323 Parser.prototype.finishField = function(start, modifiers, typeParams, type, name , value) {
8321 if (typeParams != null) { 8324 if (typeParams != null) {
8322 $globals.world.internalError('trying to create a generic field', this._makeS pan(start)); 8325 $globals.world.internalError('trying to create a generic field', this._makeS pan(start));
8323 } 8326 }
8324 var names = [name]; 8327 var names = [name];
8325 var values = [value]; 8328 var values = [value];
8326 while (this._maybeEat(11/*TokenKind.COMMA*/)) { 8329 while (this._maybeEat(11/*TokenKind.COMMA*/)) {
8327 names.add$1(this.identifier()); 8330 names.add$1(this.identifier());
8328 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) { 8331 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
8375 Parser.prototype.declaration = function(includeOperators) { 8378 Parser.prototype.declaration = function(includeOperators) {
8376 var start = this._peekToken.start; 8379 var start = this._peekToken.start;
8377 if (this._peekKind(75/*TokenKind.FACTORY*/)) { 8380 if (this._peekKind(75/*TokenKind.FACTORY*/)) {
8378 return this.factoryConstructorDeclaration(); 8381 return this.factoryConstructorDeclaration();
8379 } 8382 }
8380 var modifiers = this._readModifiers(); 8383 var modifiers = this._readModifiers();
8381 return this.finishDefinition(start, modifiers, this.declaredIdentifier(include Operators), null); 8384 return this.finishDefinition(start, modifiers, this.declaredIdentifier(include Operators), null);
8382 } 8385 }
8383 Parser.prototype.factoryConstructorDeclaration = function() { 8386 Parser.prototype.factoryConstructorDeclaration = function() {
8384 var start = this._peekToken.start; 8387 var start = this._peekToken.start;
8385 var factoryToken = this._next(); 8388 var factoryToken = this._lang_next();
8386 var names = [this.identifier()]; 8389 var names = [this.identifier()];
8387 while (this._maybeEat(14/*TokenKind.DOT*/)) { 8390 while (this._maybeEat(14/*TokenKind.DOT*/)) {
8388 names.add$1(this.identifier()); 8391 names.add$1(this.identifier());
8389 } 8392 }
8390 var typeParams = null; 8393 var typeParams = null;
8391 if (this._peekKind(52/*TokenKind.LT*/)) { 8394 if (this._peekKind(52/*TokenKind.LT*/)) {
8392 typeParams = this.typeParameters(); 8395 typeParams = this.typeParameters();
8393 } 8396 }
8394 var name = null; 8397 var name = null;
8395 var type = null; 8398 var type = null;
8396 if (this._maybeEat(14/*TokenKind.DOT*/)) { 8399 if (this._maybeEat(14/*TokenKind.DOT*/)) {
8397 name = this.identifier(); 8400 name = this.identifier();
8398 } 8401 }
8399 else if (typeParams == null) { 8402 else if (typeParams == null) {
8400 if (names.length > 1) { 8403 if (names.length > 1) {
8401 name = names.removeLast$0(); 8404 name = names.removeLast$0();
8402 } 8405 }
8403 else { 8406 else {
8404 name = new Identifier('', names.$index(0).get$span()); 8407 name = new Identifier('', names.$index(0).get$span());
8405 } 8408 }
8406 } 8409 }
8407 else { 8410 else {
8408 name = new Identifier('', names.$index(0).get$span()); 8411 name = new Identifier('', names.$index(0).get$span());
8409 } 8412 }
8410 if (names.length > 1) { 8413 if (names.length > 1) {
8411 this._error('unsupported qualified name for factory', names.$index(0).get$sp an()); 8414 this._lang_error('unsupported qualified name for factory', names.$index(0).g et$span());
8412 } 8415 }
8413 type = new NameTypeReference(false, names.$index(0), null, names.$index(0).get $span()); 8416 type = new NameTypeReference(false, names.$index(0), null, names.$index(0).get $span());
8414 var di = new DeclaredIdentifier(type, name, this._makeSpan(start)); 8417 var di = new DeclaredIdentifier(type, name, this._makeSpan(start));
8415 return this.finishDefinition(start, [factoryToken], di, typeParams); 8418 return this.finishDefinition(start, [factoryToken], di, typeParams);
8416 } 8419 }
8417 Parser.prototype.statement = function() { 8420 Parser.prototype.statement = function() {
8418 switch (this._peek()) { 8421 switch (this._peek()) {
8419 case 89/*TokenKind.BREAK*/: 8422 case 89/*TokenKind.BREAK*/:
8420 8423
8421 return this.breakStatement(); 8424 return this.breakStatement();
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
8680 } 8683 }
8681 else if (this._maybeEat(94/*TokenKind.DEFAULT*/)) { 8684 else if (this._maybeEat(94/*TokenKind.DEFAULT*/)) {
8682 cases.add$1(); 8685 cases.add$1();
8683 this._eat(8/*TokenKind.COLON*/); 8686 this._eat(8/*TokenKind.COLON*/);
8684 } 8687 }
8685 else { 8688 else {
8686 break; 8689 break;
8687 } 8690 }
8688 } 8691 }
8689 if ($eq(cases.length, 0)) { 8692 if ($eq(cases.length, 0)) {
8690 this._error('case or default'); 8693 this._lang_error('case or default');
8691 } 8694 }
8692 var stmts = []; 8695 var stmts = [];
8693 while (!this._peekCaseEnd()) { 8696 while (!this._peekCaseEnd()) {
8694 stmts.add$1(this.statement()); 8697 stmts.add$1(this.statement());
8695 if (this._recover && !this._recoverTo(7/*TokenKind.RBRACE*/, 90/*TokenKind.C ASE*/, 94/*TokenKind.DEFAULT*/)) { 8698 if (this._recover && !this._recoverTo(7/*TokenKind.RBRACE*/, 90/*TokenKind.C ASE*/, 94/*TokenKind.DEFAULT*/)) {
8696 break; 8699 break;
8697 } 8700 }
8698 } 8701 }
8699 return new CaseNode(label, cases, stmts, this._makeSpan(start)); 8702 return new CaseNode(label, cases, stmts, this._makeSpan(start));
8700 } 8703 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
8765 if (type.get$names() == null) { 8768 if (type.get$names() == null) {
8766 type.set$names([expr.get$name()]); 8769 type.set$names([expr.get$name()]);
8767 } 8770 }
8768 else { 8771 else {
8769 type.get$names().add$1(expr.get$name()); 8772 type.get$names().add$1(expr.get$name());
8770 } 8773 }
8771 type.set$span(expr.get$span()); 8774 type.set$span(expr.get$span());
8772 return type; 8775 return type;
8773 } 8776 }
8774 else { 8777 else {
8775 this._error('expected type reference'); 8778 this._lang_error('expected type reference');
8776 return null; 8779 return null;
8777 } 8780 }
8778 } 8781 }
8779 Parser.prototype.infixExpression = function(precedence) { 8782 Parser.prototype.infixExpression = function(precedence) {
8780 return this.finishInfixExpression(this.unaryExpression(), precedence); 8783 return this.finishInfixExpression(this.unaryExpression(), precedence);
8781 } 8784 }
8782 Parser.prototype._finishDeclaredId = function(type) { 8785 Parser.prototype._finishDeclaredId = function(type) {
8783 var name = this.identifier(); 8786 var name = this.identifier();
8784 return this.finishPostfixExpression(new DeclaredIdentifier(type, name, this._m akeSpan(type.get$span().get$start()))); 8787 return this.finishPostfixExpression(new DeclaredIdentifier(type, name, this._m akeSpan(type.get$span().get$start())));
8785 } 8788 }
(...skipping 25 matching lines...) Expand all
8811 Parser.prototype.finishInfixExpression = function(x, precedence) { 8814 Parser.prototype.finishInfixExpression = function(x, precedence) {
8812 while (true) { 8815 while (true) {
8813 var kind = this._peek(); 8816 var kind = this._peek();
8814 var prec = TokenKind.infixPrecedence(this._peek()); 8817 var prec = TokenKind.infixPrecedence(this._peek());
8815 if (prec >= precedence) { 8818 if (prec >= precedence) {
8816 if (kind == 52/*TokenKind.LT*/ || kind == 53/*TokenKind.GT*/) { 8819 if (kind == 52/*TokenKind.LT*/ || kind == 53/*TokenKind.GT*/) {
8817 if (this._isBin(x, 52/*TokenKind.LT*/)) { 8820 if (this._isBin(x, 52/*TokenKind.LT*/)) {
8818 return this._fixAsType(x); 8821 return this._fixAsType(x);
8819 } 8822 }
8820 } 8823 }
8821 var op = this._next(); 8824 var op = this._lang_next();
8822 if ($eq(op.get$kind(), 103/*TokenKind.IS*/)) { 8825 if ($eq(op.get$kind(), 103/*TokenKind.IS*/)) {
8823 var isTrue = !this._maybeEat(19/*TokenKind.NOT*/); 8826 var isTrue = !this._maybeEat(19/*TokenKind.NOT*/);
8824 var typeRef = this.type(0); 8827 var typeRef = this.type(0);
8825 x = new IsExpression(isTrue, x, typeRef, this._makeSpan(x.span.start)); 8828 x = new IsExpression(isTrue, x, typeRef, this._makeSpan(x.span.start));
8826 continue; 8829 continue;
8827 } 8830 }
8828 var y = this.infixExpression($eq(prec, 2) ? prec : prec + 1); 8831 var y = this.infixExpression($eq(prec, 2) ? prec : prec + 1);
8829 if ($eq(op.get$kind(), 33/*TokenKind.CONDITIONAL*/)) { 8832 if ($eq(op.get$kind(), 33/*TokenKind.CONDITIONAL*/)) {
8830 this._eat(8/*TokenKind.COLON*/); 8833 this._eat(8/*TokenKind.COLON*/);
8831 var z = this.infixExpression(prec); 8834 var z = this.infixExpression(prec);
(...skipping 22 matching lines...) Expand all
8854 8857
8855 default: 8858 default:
8856 8859
8857 return false; 8860 return false;
8858 8861
8859 } 8862 }
8860 } 8863 }
8861 Parser.prototype.unaryExpression = function() { 8864 Parser.prototype.unaryExpression = function() {
8862 var start = this._peekToken.start; 8865 var start = this._peekToken.start;
8863 if (this._isPrefixUnaryOperator(this._peek())) { 8866 if (this._isPrefixUnaryOperator(this._peek())) {
8864 var tok = this._next(); 8867 var tok = this._lang_next();
8865 var expr = this.unaryExpression(); 8868 var expr = this.unaryExpression();
8866 return new UnaryExpression(tok, expr, this._makeSpan(start)); 8869 return new UnaryExpression(tok, expr, this._makeSpan(start));
8867 } 8870 }
8868 else if (this.get$enableAwait() && this._maybeEat(88/*TokenKind.AWAIT*/)) { 8871 else if (this.get$enableAwait() && this._maybeEat(88/*TokenKind.AWAIT*/)) {
8869 var expr = this.unaryExpression(); 8872 var expr = this.unaryExpression();
8870 return new AwaitExpression(expr, this._makeSpan(start)); 8873 return new AwaitExpression(expr, this._makeSpan(start));
8871 } 8874 }
8872 return this.finishPostfixExpression(this.primary()); 8875 return this.finishPostfixExpression(this.primary());
8873 } 8876 }
8874 Parser.prototype.argument = function() { 8877 Parser.prototype.argument = function() {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
8919 case 14/*TokenKind.DOT*/: 8922 case 14/*TokenKind.DOT*/:
8920 8923
8921 this._eat(14/*TokenKind.DOT*/); 8924 this._eat(14/*TokenKind.DOT*/);
8922 var name = this.identifier(); 8925 var name = this.identifier();
8923 var ret = new DotExpression(expr, name, this._makeSpan(expr.get$span().get $start())); 8926 var ret = new DotExpression(expr, name, this._makeSpan(expr.get$span().get $start()));
8924 return this.finishPostfixExpression(ret); 8927 return this.finishPostfixExpression(ret);
8925 8928
8926 case 16/*TokenKind.INCR*/: 8929 case 16/*TokenKind.INCR*/:
8927 case 17/*TokenKind.DECR*/: 8930 case 17/*TokenKind.DECR*/:
8928 8931
8929 var tok = this._next(); 8932 var tok = this._lang_next();
8930 return new PostfixExpression(expr, tok, this._makeSpan(expr.get$span().get $start())); 8933 return new PostfixExpression(expr, tok, this._makeSpan(expr.get$span().get $start()));
8931 8934
8932 case 9/*TokenKind.ARROW*/: 8935 case 9/*TokenKind.ARROW*/:
8933 case 6/*TokenKind.LBRACE*/: 8936 case 6/*TokenKind.LBRACE*/:
8934 8937
8935 return expr; 8938 return expr;
8936 8939
8937 default: 8940 default:
8938 8941
8939 if (this._peekIdentifier()) { 8942 if (this._peekIdentifier()) {
8940 return this.finishPostfixExpression(new DeclaredIdentifier(this._makeTyp e(expr), this.identifier(), this._makeSpan(expr.get$span().get$start()))); 8943 return this.finishPostfixExpression(new DeclaredIdentifier(this._makeTyp e(expr), this.identifier(), this._makeSpan(expr.get$span().get$start())));
8941 } 8944 }
8942 else { 8945 else {
8943 return expr; 8946 return expr;
8944 } 8947 }
8945 8948
8946 } 8949 }
8947 } 8950 }
8948 Parser.prototype.finishCallOrLambdaExpression = function(expr) { 8951 Parser.prototype.finishCallOrLambdaExpression = function(expr) {
8949 if (this._atClosureParameters()) { 8952 if (this._atClosureParameters()) {
8950 var formals = this.formalParameterList(); 8953 var formals = this.formalParameterList();
8951 var body = this.functionBody(true); 8954 var body = this.functionBody(true);
8952 return this._makeFunction(expr, formals, body); 8955 return this._makeFunction(expr, formals, body);
8953 } 8956 }
8954 else { 8957 else {
8955 if ((expr instanceof DeclaredIdentifier)) { 8958 if ((expr instanceof DeclaredIdentifier)) {
8956 this._error('illegal target for call, did you mean to declare a function?' , expr.get$span()); 8959 this._lang_error('illegal target for call, did you mean to declare a funct ion?', expr.get$span());
8957 } 8960 }
8958 var args = this.arguments(); 8961 var args = this.arguments();
8959 return this.finishPostfixExpression(new CallExpression(expr, args, this._mak eSpan(expr.get$span().get$start()))); 8962 return this.finishPostfixExpression(new CallExpression(expr, args, this._mak eSpan(expr.get$span().get$start())));
8960 } 8963 }
8961 } 8964 }
8962 Parser.prototype._isBin = function(expr, kind) { 8965 Parser.prototype._isBin = function(expr, kind) {
8963 return (expr instanceof BinaryExpression) && $eq(expr.get$op().get$kind(), kin d); 8966 return (expr instanceof BinaryExpression) && $eq(expr.get$op().get$kind(), kin d);
8964 } 8967 }
8965 Parser.prototype._boolTypeRef = function(span) { 8968 Parser.prototype._boolTypeRef = function(span) {
8966 return new TypeReference(span, $globals.world.nonNullBool); 8969 return new TypeReference(span, $globals.world.nonNullBool);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
9031 this._eat(111/*TokenKind.TRUE*/); 9034 this._eat(111/*TokenKind.TRUE*/);
9032 return new LiteralExpression(true, this._boolTypeRef(this._makeSpan(start) ), 'true', this._makeSpan(start)); 9035 return new LiteralExpression(true, this._boolTypeRef(this._makeSpan(start) ), 'true', this._makeSpan(start));
9033 9036
9034 case 97/*TokenKind.FALSE*/: 9037 case 97/*TokenKind.FALSE*/:
9035 9038
9036 this._eat(97/*TokenKind.FALSE*/); 9039 this._eat(97/*TokenKind.FALSE*/);
9037 return new LiteralExpression(false, this._boolTypeRef(this._makeSpan(start )), 'false', this._makeSpan(start)); 9040 return new LiteralExpression(false, this._boolTypeRef(this._makeSpan(start )), 'false', this._makeSpan(start));
9038 9041
9039 case 61/*TokenKind.HEX_INTEGER*/: 9042 case 61/*TokenKind.HEX_INTEGER*/:
9040 9043
9041 var t = this._next(); 9044 var t = this._lang_next();
9042 return new LiteralExpression(Parser.parseHex(t.get$text().substring$1(2)), this._intTypeRef(this._makeSpan(start)), t.get$text(), this._makeSpan(start)); 9045 return new LiteralExpression(Parser.parseHex(t.get$text().substring$1(2)), this._intTypeRef(this._makeSpan(start)), t.get$text(), this._makeSpan(start));
9043 9046
9044 case 60/*TokenKind.INTEGER*/: 9047 case 60/*TokenKind.INTEGER*/:
9045 9048
9046 var t = this._next(); 9049 var t = this._lang_next();
9047 return new LiteralExpression(Math.parseInt(t.get$text()), this._intTypeRef (this._makeSpan(start)), t.get$text(), this._makeSpan(start)); 9050 return new LiteralExpression(Math.parseInt(t.get$text()), this._intTypeRef (this._makeSpan(start)), t.get$text(), this._makeSpan(start));
9048 9051
9049 case 62/*TokenKind.DOUBLE*/: 9052 case 62/*TokenKind.DOUBLE*/:
9050 9053
9051 var t = this._next(); 9054 var t = this._lang_next();
9052 return new LiteralExpression(Math.parseDouble(t.get$text()), this._doubleT ypeRef(this._makeSpan(start)), t.get$text(), this._makeSpan(start)); 9055 return new LiteralExpression(Math.parseDouble(t.get$text()), this._doubleT ypeRef(this._makeSpan(start)), t.get$text(), this._makeSpan(start));
9053 9056
9054 case 58/*TokenKind.STRING*/: 9057 case 58/*TokenKind.STRING*/:
9055 9058
9056 return this.stringLiteralExpr(); 9059 return this.stringLiteralExpr();
9057 9060
9058 case 66/*TokenKind.INCOMPLETE_STRING*/: 9061 case 66/*TokenKind.INCOMPLETE_STRING*/:
9059 9062
9060 return this.stringInterpolation(); 9063 return this.stringInterpolation();
9061 9064
(...skipping 14 matching lines...) Expand all
9076 } 9079 }
9077 return new VarExpression(this.identifier(), this._makeSpan(start)); 9080 return new VarExpression(this.identifier(), this._makeSpan(start));
9078 9081
9079 } 9082 }
9080 } 9083 }
9081 Parser.prototype.stringInterpolation = function() { 9084 Parser.prototype.stringInterpolation = function() {
9082 var start = this._peekToken.start; 9085 var start = this._peekToken.start;
9083 var lits = []; 9086 var lits = [];
9084 var startQuote = null, endQuote = null; 9087 var startQuote = null, endQuote = null;
9085 while (this._peekKind(66/*TokenKind.INCOMPLETE_STRING*/)) { 9088 while (this._peekKind(66/*TokenKind.INCOMPLETE_STRING*/)) {
9086 var token = this._next(); 9089 var token = this._lang_next();
9087 var text = token.get$text(); 9090 var text = token.get$text();
9088 if (startQuote == null) { 9091 if (startQuote == null) {
9089 if (isMultilineString(text)) { 9092 if (isMultilineString(text)) {
9090 endQuote = text.substring$2(0, 3); 9093 endQuote = text.substring$2(0, 3);
9091 startQuote = endQuote + '\n'; 9094 startQuote = endQuote + '\n';
9092 } 9095 }
9093 else { 9096 else {
9094 startQuote = endQuote = text.$index(0); 9097 startQuote = endQuote = text.$index(0);
9095 } 9098 }
9096 text = text.substring$2(0, text.length - 1) + endQuote; 9099 text = text.substring$2(0, text.length - 1) + endQuote;
9097 } 9100 }
9098 else { 9101 else {
9099 text = startQuote + text.substring$2(0, text.length - 1) + endQuote; 9102 text = startQuote + text.substring$2(0, text.length - 1) + endQuote;
9100 } 9103 }
9101 lits.add$1(this.makeStringLiteral(text, token.get$span())); 9104 lits.add$1(this.makeStringLiteral(text, token.get$span()));
9102 if (this._maybeEat(6/*TokenKind.LBRACE*/)) { 9105 if (this._maybeEat(6/*TokenKind.LBRACE*/)) {
9103 lits.add$1(this.expression()); 9106 lits.add$1(this.expression());
9104 this._eat(7/*TokenKind.RBRACE*/); 9107 this._eat(7/*TokenKind.RBRACE*/);
9105 } 9108 }
9106 else if (this._maybeEat(109/*TokenKind.THIS*/)) { 9109 else if (this._maybeEat(109/*TokenKind.THIS*/)) {
9107 lits.add$1(new ThisExpression(this._previousToken.get$span())); 9110 lits.add$1(new ThisExpression(this._previousToken.get$span()));
9108 } 9111 }
9109 else { 9112 else {
9110 var id = this.identifier(); 9113 var id = this.identifier();
9111 lits.add$1(new VarExpression(id, id.get$span())); 9114 lits.add$1(new VarExpression(id, id.get$span()));
9112 } 9115 }
9113 } 9116 }
9114 var tok = this._next(); 9117 var tok = this._lang_next();
9115 if ($ne(tok.get$kind(), 58/*TokenKind.STRING*/)) { 9118 if ($ne(tok.get$kind(), 58/*TokenKind.STRING*/)) {
9116 this._errorExpected('interpolated string'); 9119 this._errorExpected('interpolated string');
9117 } 9120 }
9118 var text = startQuote + tok.get$text(); 9121 var text = startQuote + tok.get$text();
9119 lits.add$1(this.makeStringLiteral(text, tok.get$span())); 9122 lits.add$1(this.makeStringLiteral(text, tok.get$span()));
9120 var span = this._makeSpan(start); 9123 var span = this._makeSpan(start);
9121 return new LiteralExpression(lits, this._stringTypeRef(span), '\$\$\$', span); 9124 return new LiteralExpression(lits, this._stringTypeRef(span), '\$\$\$', span);
9122 } 9125 }
9123 Parser.prototype.makeStringLiteral = function(text, span) { 9126 Parser.prototype.makeStringLiteral = function(text, span) {
9124 return new LiteralExpression(text, this._stringTypeRef(span), text, span); 9127 return new LiteralExpression(text, this._stringTypeRef(span), text, span);
9125 } 9128 }
9126 Parser.prototype.stringLiteralExpr = function() { 9129 Parser.prototype.stringLiteralExpr = function() {
9127 var token = this._next(); 9130 var token = this._lang_next();
9128 return this.makeStringLiteral(token.get$text(), token.get$span()); 9131 return this.makeStringLiteral(token.get$text(), token.get$span());
9129 } 9132 }
9130 Parser.prototype.maybeStringLiteral = function() { 9133 Parser.prototype.maybeStringLiteral = function() {
9131 var kind = this._peek(); 9134 var kind = this._peek();
9132 if ($eq(kind, 58/*TokenKind.STRING*/)) { 9135 if ($eq(kind, 58/*TokenKind.STRING*/)) {
9133 return parseStringLiteral(this._next().get$text()); 9136 return parseStringLiteral(this._lang_next().get$text());
9134 } 9137 }
9135 else if ($eq(kind, 59/*TokenKind.STRING_PART*/)) { 9138 else if ($eq(kind, 59/*TokenKind.STRING_PART*/)) {
9136 this._next(); 9139 this._lang_next();
9137 this._errorExpected('string literal, but found interpolated string start'); 9140 this._errorExpected('string literal, but found interpolated string start');
9138 } 9141 }
9139 else if ($eq(kind, 66/*TokenKind.INCOMPLETE_STRING*/)) { 9142 else if ($eq(kind, 66/*TokenKind.INCOMPLETE_STRING*/)) {
9140 this._next(); 9143 this._lang_next();
9141 this._errorExpected('string literal, but found incomplete string'); 9144 this._errorExpected('string literal, but found incomplete string');
9142 } 9145 }
9143 return null; 9146 return null;
9144 } 9147 }
9145 Parser.prototype._parenOrLambda = function() { 9148 Parser.prototype._parenOrLambda = function() {
9146 var start = this._peekToken.start; 9149 var start = this._peekToken.start;
9147 if (this._atClosureParameters()) { 9150 if (this._atClosureParameters()) {
9148 var formals = this.formalParameterList(); 9151 var formals = this.formalParameterList();
9149 var body = this.functionBody(true); 9152 var body = this.functionBody(true);
9150 var func = new FunctionDefinition(null, null, null, formals, null, null, nul l, body, this._makeSpan(start)); 9153 var func = new FunctionDefinition(null, null, null, formals, null, null, nul l, body, this._makeSpan(start));
(...skipping 17 matching lines...) Expand all
9168 Parser.prototype._eatLeftParen = function() { 9171 Parser.prototype._eatLeftParen = function() {
9169 this._eat(2/*TokenKind.LPAREN*/); 9172 this._eat(2/*TokenKind.LPAREN*/);
9170 this._afterParensIndex++; 9173 this._afterParensIndex++;
9171 } 9174 }
9172 Parser.prototype._peekAfterCloseParen = function() { 9175 Parser.prototype._peekAfterCloseParen = function() {
9173 if (this._afterParensIndex < this._afterParens.length) { 9176 if (this._afterParensIndex < this._afterParens.length) {
9174 return this._afterParens.$index(this._afterParensIndex); 9177 return this._afterParens.$index(this._afterParensIndex);
9175 } 9178 }
9176 this._afterParensIndex = 0; 9179 this._afterParensIndex = 0;
9177 this._afterParens.clear(); 9180 this._afterParens.clear();
9178 var tokens = [this._next()]; 9181 var tokens = [this._lang_next()];
9179 this._lookaheadAfterParens(tokens); 9182 this._lookaheadAfterParens(tokens);
9180 var after = this._peekToken; 9183 var after = this._peekToken;
9181 tokens.add$1(after); 9184 tokens.add$1(after);
9182 this.tokenizer = new DivertedTokenSource(tokens, this, this.tokenizer); 9185 this.tokenizer = new DivertedTokenSource(tokens, this, this.tokenizer);
9183 this._next(); 9186 this._lang_next();
9184 return after; 9187 return after;
9185 } 9188 }
9186 Parser.prototype._lookaheadAfterParens = function(tokens) { 9189 Parser.prototype._lookaheadAfterParens = function(tokens) {
9187 var saved = this._afterParens.length; 9190 var saved = this._afterParens.length;
9188 this._afterParens.add(null); 9191 this._afterParens.add(null);
9189 while (true) { 9192 while (true) {
9190 var token = this._next(); 9193 var token = this._lang_next();
9191 tokens.add(token); 9194 tokens.add(token);
9192 var kind = token.kind; 9195 var kind = token.kind;
9193 if (kind == 3/*TokenKind.RPAREN*/ || kind == 1/*TokenKind.END_OF_FILE*/) { 9196 if (kind == 3/*TokenKind.RPAREN*/ || kind == 1/*TokenKind.END_OF_FILE*/) {
9194 this._afterParens.$setindex(saved, this._peekToken); 9197 this._afterParens.$setindex(saved, this._peekToken);
9195 return; 9198 return;
9196 } 9199 }
9197 else if (kind == 2/*TokenKind.LPAREN*/) { 9200 else if (kind == 2/*TokenKind.LPAREN*/) {
9198 this._lookaheadAfterParens(tokens); 9201 this._lookaheadAfterParens(tokens);
9199 } 9202 }
9200 } 9203 }
9201 } 9204 }
9202 Parser.prototype._typeAsIdentifier = function(type) { 9205 Parser.prototype._typeAsIdentifier = function(type) {
9203 return type.get$name(); 9206 return type.get$name();
9204 } 9207 }
9205 Parser.prototype._specialIdentifier = function(includeOperators) { 9208 Parser.prototype._specialIdentifier = function(includeOperators) {
9206 var start = this._peekToken.start; 9209 var start = this._peekToken.start;
9207 var name; 9210 var name;
9208 switch (this._peek()) { 9211 switch (this._peek()) {
9209 case 15/*TokenKind.ELLIPSIS*/: 9212 case 15/*TokenKind.ELLIPSIS*/:
9210 9213
9211 this._eat(15/*TokenKind.ELLIPSIS*/); 9214 this._eat(15/*TokenKind.ELLIPSIS*/);
9212 this._error('rest no longer supported', this._previousToken.get$span()); 9215 this._lang_error('rest no longer supported', this._previousToken.get$span( ));
9213 name = this.identifier().get$name(); 9216 name = this.identifier().get$name();
9214 break; 9217 break;
9215 9218
9216 case 109/*TokenKind.THIS*/: 9219 case 109/*TokenKind.THIS*/:
9217 9220
9218 this._eat(109/*TokenKind.THIS*/); 9221 this._eat(109/*TokenKind.THIS*/);
9219 this._eat(14/*TokenKind.DOT*/); 9222 this._eat(14/*TokenKind.DOT*/);
9220 name = ('this.' + this.identifier().get$name()); 9223 name = ('this.' + this.identifier().get$name());
9221 break; 9224 break;
9222 9225
(...skipping 21 matching lines...) Expand all
9244 } 9247 }
9245 break; 9248 break;
9246 9249
9247 case 83/*TokenKind.OPERATOR*/: 9250 case 83/*TokenKind.OPERATOR*/:
9248 9251
9249 if (!includeOperators) return null; 9252 if (!includeOperators) return null;
9250 this._eat(83/*TokenKind.OPERATOR*/); 9253 this._eat(83/*TokenKind.OPERATOR*/);
9251 var kind = this._peek(); 9254 var kind = this._peek();
9252 if ($eq(kind, 82/*TokenKind.NEGATE*/)) { 9255 if ($eq(kind, 82/*TokenKind.NEGATE*/)) {
9253 name = ':negate'; 9256 name = ':negate';
9254 this._next(); 9257 this._lang_next();
9255 } 9258 }
9256 else { 9259 else {
9257 name = TokenKind.binaryMethodName(kind); 9260 name = TokenKind.binaryMethodName(kind);
9258 if (name == null) { 9261 if (name == null) {
9259 name = 'operator'; 9262 name = 'operator';
9260 } 9263 }
9261 else { 9264 else {
9262 this._next(); 9265 this._lang_next();
9263 } 9266 }
9264 } 9267 }
9265 break; 9268 break;
9266 9269
9267 default: 9270 default:
9268 9271
9269 return null; 9272 return null;
9270 9273
9271 } 9274 }
9272 return new Identifier(name, this._makeSpan(start)); 9275 return new Identifier(name, this._makeSpan(start));
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
9373 var modifiers = null; 9376 var modifiers = null;
9374 while (true) { 9377 while (true) {
9375 switch (this._peek()) { 9378 switch (this._peek()) {
9376 case 86/*TokenKind.STATIC*/: 9379 case 86/*TokenKind.STATIC*/:
9377 case 98/*TokenKind.FINAL*/: 9380 case 98/*TokenKind.FINAL*/:
9378 case 92/*TokenKind.CONST*/: 9381 case 92/*TokenKind.CONST*/:
9379 case 71/*TokenKind.ABSTRACT*/: 9382 case 71/*TokenKind.ABSTRACT*/:
9380 case 75/*TokenKind.FACTORY*/: 9383 case 75/*TokenKind.FACTORY*/:
9381 9384
9382 if (modifiers == null) modifiers = []; 9385 if (modifiers == null) modifiers = [];
9383 modifiers.add$1(this._next()); 9386 modifiers.add$1(this._lang_next());
9384 break; 9387 break;
9385 9388
9386 default: 9389 default:
9387 9390
9388 return modifiers; 9391 return modifiers;
9389 9392
9390 } 9393 }
9391 } 9394 }
9392 return null; 9395 return null;
9393 } 9396 }
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
9474 } 9477 }
9475 Parser.prototype.nameTypeReference = function() { 9478 Parser.prototype.nameTypeReference = function() {
9476 var start = this._peekToken.start; 9479 var start = this._peekToken.start;
9477 var name; 9480 var name;
9478 var names = null; 9481 var names = null;
9479 var typeArgs = null; 9482 var typeArgs = null;
9480 var isFinal = false; 9483 var isFinal = false;
9481 switch (this._peek()) { 9484 switch (this._peek()) {
9482 case 114/*TokenKind.VOID*/: 9485 case 114/*TokenKind.VOID*/:
9483 9486
9484 return new TypeReference(this._next().get$span(), $globals.world.voidType) ; 9487 return new TypeReference(this._lang_next().get$span(), $globals.world.void Type);
9485 9488
9486 case 113/*TokenKind.VAR*/: 9489 case 113/*TokenKind.VAR*/:
9487 9490
9488 return new TypeReference(this._next().get$span(), $globals.world.varType); 9491 return new TypeReference(this._lang_next().get$span(), $globals.world.varT ype);
9489 9492
9490 case 98/*TokenKind.FINAL*/: 9493 case 98/*TokenKind.FINAL*/:
9491 9494
9492 this._eat(98/*TokenKind.FINAL*/); 9495 this._eat(98/*TokenKind.FINAL*/);
9493 isFinal = true; 9496 isFinal = true;
9494 name = this.identifier(); 9497 name = this.identifier();
9495 break; 9498 break;
9496 9499
9497 default: 9500 default:
9498 9501
(...skipping 22 matching lines...) Expand all
9521 Parser.prototype.formalParameter = function(inOptionalBlock) { 9524 Parser.prototype.formalParameter = function(inOptionalBlock) {
9522 var start = this._peekToken.start; 9525 var start = this._peekToken.start;
9523 var isThis = false; 9526 var isThis = false;
9524 var isRest = false; 9527 var isRest = false;
9525 var di = this.declaredIdentifier(false); 9528 var di = this.declaredIdentifier(false);
9526 var type = di.get$type(); 9529 var type = di.get$type();
9527 var name = di.get$name(); 9530 var name = di.get$name();
9528 var value = null; 9531 var value = null;
9529 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) { 9532 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
9530 if (!inOptionalBlock) { 9533 if (!inOptionalBlock) {
9531 this._error('default values only allowed inside [optional] section'); 9534 this._lang_error('default values only allowed inside [optional] section');
9532 } 9535 }
9533 value = this.expression(); 9536 value = this.expression();
9534 } 9537 }
9535 else if (this._peekKind(2/*TokenKind.LPAREN*/)) { 9538 else if (this._peekKind(2/*TokenKind.LPAREN*/)) {
9536 var formals = this.formalParameterList(); 9539 var formals = this.formalParameterList();
9537 var func = new FunctionDefinition(null, type, name, formals, null, null, nul l, null, this._makeSpan(start)); 9540 var func = new FunctionDefinition(null, type, name, formals, null, null, nul l, null, this._makeSpan(start));
9538 type = new FunctionTypeReference(false, func, func.get$span()); 9541 type = new FunctionTypeReference(false, func, func.get$span());
9539 } 9542 }
9540 if (inOptionalBlock && value == null) { 9543 if (inOptionalBlock && value == null) {
9541 value = new NullExpression(this._makeSpan(start)); 9544 value = new NullExpression(this._makeSpan(start));
9542 } 9545 }
9543 return new FormalNode(isThis, isRest, type, name, value, this._makeSpan(start) ); 9546 return new FormalNode(isThis, isRest, type, name, value, this._makeSpan(start) );
9544 } 9547 }
9545 Parser.prototype.formalParameterList = function() { 9548 Parser.prototype.formalParameterList = function() {
9546 this._eatLeftParen(); 9549 this._eatLeftParen();
9547 var formals = []; 9550 var formals = [];
9548 var inOptionalBlock = false; 9551 var inOptionalBlock = false;
9549 if (!this._maybeEat(3/*TokenKind.RPAREN*/)) { 9552 if (!this._maybeEat(3/*TokenKind.RPAREN*/)) {
9550 if (this._maybeEat(4/*TokenKind.LBRACK*/)) { 9553 if (this._maybeEat(4/*TokenKind.LBRACK*/)) {
9551 inOptionalBlock = true; 9554 inOptionalBlock = true;
9552 } 9555 }
9553 formals.add$1(this.formalParameter(inOptionalBlock)); 9556 formals.add$1(this.formalParameter(inOptionalBlock));
9554 while (this._maybeEat(11/*TokenKind.COMMA*/)) { 9557 while (this._maybeEat(11/*TokenKind.COMMA*/)) {
9555 if (this._maybeEat(4/*TokenKind.LBRACK*/)) { 9558 if (this._maybeEat(4/*TokenKind.LBRACK*/)) {
9556 if (inOptionalBlock) { 9559 if (inOptionalBlock) {
9557 this._error('already inside an optional block', this._previousToken.ge t$span()); 9560 this._lang_error('already inside an optional block', this._previousTok en.get$span());
9558 } 9561 }
9559 inOptionalBlock = true; 9562 inOptionalBlock = true;
9560 } 9563 }
9561 formals.add$1(this.formalParameter(inOptionalBlock)); 9564 formals.add$1(this.formalParameter(inOptionalBlock));
9562 } 9565 }
9563 if (inOptionalBlock) { 9566 if (inOptionalBlock) {
9564 this._eat(5/*TokenKind.RBRACK*/); 9567 this._eat(5/*TokenKind.RBRACK*/);
9565 } 9568 }
9566 this._eat(3/*TokenKind.RPAREN*/); 9569 this._eat(3/*TokenKind.RPAREN*/);
9567 } 9570 }
9568 return formals; 9571 return formals;
9569 } 9572 }
9570 Parser.prototype.identifier = function() { 9573 Parser.prototype.identifier = function() {
9571 var tok = this._next(); 9574 var tok = this._lang_next();
9572 if (!this._isIdentifier(tok.get$kind())) { 9575 if (!this._isIdentifier(tok.get$kind())) {
9573 this._error(('expected identifier, but found ' + tok), tok.get$span()); 9576 this._lang_error(('expected identifier, but found ' + tok), tok.get$span());
9574 } 9577 }
9575 return new Identifier(tok.get$text(), this._makeSpan(tok.get$start())); 9578 return new Identifier(tok.get$text(), this._makeSpan(tok.get$start()));
9576 } 9579 }
9577 Parser.prototype._makeFunction = function(expr, formals, body) { 9580 Parser.prototype._makeFunction = function(expr, formals, body) {
9578 var name, type; 9581 var name, type;
9579 if ((expr instanceof VarExpression)) { 9582 if ((expr instanceof VarExpression)) {
9580 name = expr.get$name(); 9583 name = expr.get$name();
9581 type = null; 9584 type = null;
9582 } 9585 }
9583 else if ((expr instanceof DeclaredIdentifier)) { 9586 else if ((expr instanceof DeclaredIdentifier)) {
9584 name = expr.get$name(); 9587 name = expr.get$name();
9585 type = expr.get$type(); 9588 type = expr.get$type();
9586 } 9589 }
9587 else { 9590 else {
9588 this._error('bad function body', expr.get$span()); 9591 this._lang_error('bad function body', expr.get$span());
9589 } 9592 }
9590 var span = new SourceSpan(expr.get$span().get$file(), expr.get$span().get$star t(), body.get$span().get$end()); 9593 var span = new SourceSpan(expr.get$span().get$file(), expr.get$span().get$star t(), body.get$span().get$end());
9591 var func = new FunctionDefinition(null, type, name, formals, null, null, null, body, span); 9594 var func = new FunctionDefinition(null, type, name, formals, null, null, null, body, span);
9592 return new LambdaExpression(func, func.get$span()); 9595 return new LambdaExpression(func, func.get$span());
9593 } 9596 }
9594 Parser.prototype._makeDeclaredIdentifier = function(e) { 9597 Parser.prototype._makeDeclaredIdentifier = function(e) {
9595 if ((e instanceof VarExpression)) { 9598 if ((e instanceof VarExpression)) {
9596 return new DeclaredIdentifier(null, e.get$name(), e.get$span()); 9599 return new DeclaredIdentifier(null, e.get$name(), e.get$span());
9597 } 9600 }
9598 else if ((e instanceof DeclaredIdentifier)) { 9601 else if ((e instanceof DeclaredIdentifier)) {
9599 return e; 9602 return e;
9600 } 9603 }
9601 else { 9604 else {
9602 this._error('expected declared identifier'); 9605 this._lang_error('expected declared identifier');
9603 return new DeclaredIdentifier(null, null, e.get$span()); 9606 return new DeclaredIdentifier(null, null, e.get$span());
9604 } 9607 }
9605 } 9608 }
9606 Parser.prototype._makeLabel = function(expr) { 9609 Parser.prototype._makeLabel = function(expr) {
9607 if ((expr instanceof VarExpression)) { 9610 if ((expr instanceof VarExpression)) {
9608 return expr.get$name(); 9611 return expr.get$name();
9609 } 9612 }
9610 else { 9613 else {
9611 this._errorExpected('label'); 9614 this._errorExpected('label');
9612 return null; 9615 return null;
9613 } 9616 }
9614 } 9617 }
9615 Parser.prototype.block$0 = Parser.prototype.block; 9618 Parser.prototype.block$0 = Parser.prototype.block;
9616 // ********** Code for IncompleteSourceException ************** 9619 // ********** Code for IncompleteSourceException **************
9617 function IncompleteSourceException(token) { 9620 function IncompleteSourceException(token) {
9618 this.token = token; 9621 this.token = token;
9619 // Initializers done 9622 // Initializers done
9620 } 9623 }
9621 IncompleteSourceException.prototype.toString = function() { 9624 IncompleteSourceException.prototype.toString = function() {
9622 if (this.token.get$span() == null) return ('Unexpected ' + this.token); 9625 if (this.token.get$span() == null) return ('Unexpected ' + this.token);
9623 return this.token.get$span().toMessageString(('Unexpected ' + this.token)); 9626 return this.token.get$span().toMessageString(('Unexpected ' + this.token));
9624 } 9627 }
9625 IncompleteSourceException.prototype.toString$0 = IncompleteSourceException.proto type.toString; 9628 IncompleteSourceException.prototype.toString$0 = IncompleteSourceException.proto type.toString;
9626 // ********** Code for DivertedTokenSource ************** 9629 // ********** Code for DivertedTokenSource **************
9627 function DivertedTokenSource(tokens, parser, previousTokenizer) { 9630 function DivertedTokenSource(tokens, parser, previousTokenizer) {
9628 this._pos = 0 9631 this._lang_pos = 0
9629 this.tokens = tokens; 9632 this.tokens = tokens;
9630 this.parser = parser; 9633 this.parser = parser;
9631 this.previousTokenizer = previousTokenizer; 9634 this.previousTokenizer = previousTokenizer;
9632 // Initializers done 9635 // Initializers done
9633 } 9636 }
9634 DivertedTokenSource.prototype.next = function() { 9637 DivertedTokenSource.prototype.next = function() {
9635 var token = this.tokens.$index(this._pos); 9638 var token = this.tokens.$index(this._lang_pos);
9636 ++this._pos; 9639 ++this._lang_pos;
9637 if (this._pos == this.tokens.length) { 9640 if (this._lang_pos == this.tokens.length) {
9638 this.parser.tokenizer = this.previousTokenizer; 9641 this.parser.tokenizer = this.previousTokenizer;
9639 } 9642 }
9640 return token; 9643 return token;
9641 } 9644 }
9642 DivertedTokenSource.prototype.next$0 = DivertedTokenSource.prototype.next; 9645 DivertedTokenSource.prototype.next$0 = DivertedTokenSource.prototype.next;
9643 // ********** Code for Node ************** 9646 // ********** Code for Node **************
9644 function Node(span) { 9647 function Node(span) {
9645 this.span = span; 9648 this.span = span;
9646 // Initializers done 9649 // Initializers done
9647 } 9650 }
9648 Node.prototype.get$span = function() { return this.span; }; 9651 Node.prototype.get$span = function() { return this.span; };
9649 Node.prototype.set$span = function(value) { return this.span = value; }; 9652 Node.prototype.set$span = function(value) { return this.span = value; };
9650 Node.prototype.visit$1 = Node.prototype.visit; 9653 Node.prototype.visit$1 = Node.prototype.visit;
9654 // ********** Code for Statement **************
9655 $inherits(Statement, Node);
9656 function Statement(span) {
9657 // Initializers done
9658 Node.call(this, span);
9659 }
9651 // ********** Code for Definition ************** 9660 // ********** Code for Definition **************
9661 $inherits(Definition, Statement);
9652 function Definition(span) { 9662 function Definition(span) {
9653 // Initializers done 9663 // Initializers done
9654 Statement.call(this, span); 9664 Statement.call(this, span);
9655 } 9665 }
9656 $inherits(Definition, Statement);
9657 Definition.prototype.get$typeParameters = function() { 9666 Definition.prototype.get$typeParameters = function() {
9658 return null; 9667 return null;
9659 } 9668 }
9660 Definition.prototype.get$nativeType = function() { 9669 Definition.prototype.get$nativeType = function() {
9661 return null; 9670 return null;
9662 } 9671 }
9663 // ********** Code for Statement **************
9664 function Statement(span) {
9665 // Initializers done
9666 Node.call(this, span);
9667 }
9668 $inherits(Statement, Node);
9669 // ********** Code for Expression ************** 9672 // ********** Code for Expression **************
9673 $inherits(Expression, Node);
9670 function Expression(span) { 9674 function Expression(span) {
9671 // Initializers done 9675 // Initializers done
9672 Node.call(this, span); 9676 Node.call(this, span);
9673 } 9677 }
9674 $inherits(Expression, Node);
9675 // ********** Code for TypeReference ************** 9678 // ********** Code for TypeReference **************
9679 $inherits(TypeReference, Node);
9676 function TypeReference(span, type) { 9680 function TypeReference(span, type) {
9677 this.type = type; 9681 this.type = type;
9678 // Initializers done 9682 // Initializers done
9679 Node.call(this, span); 9683 Node.call(this, span);
9680 } 9684 }
9681 $inherits(TypeReference, Node);
9682 TypeReference.prototype.get$type = function() { return this.type; }; 9685 TypeReference.prototype.get$type = function() { return this.type; };
9683 TypeReference.prototype.set$type = function(value) { return this.type = value; } ; 9686 TypeReference.prototype.set$type = function(value) { return this.type = value; } ;
9684 TypeReference.prototype.visit = function(visitor) { 9687 TypeReference.prototype.visit = function(visitor) {
9685 return visitor.visitTypeReference(this); 9688 return visitor.visitTypeReference(this);
9686 } 9689 }
9687 TypeReference.prototype.get$isFinal = function() { 9690 TypeReference.prototype.get$isFinal = function() {
9688 return false; 9691 return false;
9689 } 9692 }
9690 TypeReference.prototype.visit$1 = TypeReference.prototype.visit; 9693 TypeReference.prototype.visit$1 = TypeReference.prototype.visit;
9691 // ********** Code for DirectiveDefinition ************** 9694 // ********** Code for DirectiveDefinition **************
9695 $inherits(DirectiveDefinition, Definition);
9692 function DirectiveDefinition(name, arguments, span) { 9696 function DirectiveDefinition(name, arguments, span) {
9693 this.name = name; 9697 this.name = name;
9694 this.arguments = arguments; 9698 this.arguments = arguments;
9695 // Initializers done 9699 // Initializers done
9696 Definition.call(this, span); 9700 Definition.call(this, span);
9697 } 9701 }
9698 $inherits(DirectiveDefinition, Definition);
9699 DirectiveDefinition.prototype.get$name = function() { return this.name; }; 9702 DirectiveDefinition.prototype.get$name = function() { return this.name; };
9700 DirectiveDefinition.prototype.set$name = function(value) { return this.name = va lue; }; 9703 DirectiveDefinition.prototype.set$name = function(value) { return this.name = va lue; };
9701 DirectiveDefinition.prototype.get$arguments = function() { return this.arguments ; }; 9704 DirectiveDefinition.prototype.get$arguments = function() { return this.arguments ; };
9702 DirectiveDefinition.prototype.set$arguments = function(value) { return this.argu ments = value; }; 9705 DirectiveDefinition.prototype.set$arguments = function(value) { return this.argu ments = value; };
9703 DirectiveDefinition.prototype.visit = function(visitor) { 9706 DirectiveDefinition.prototype.visit = function(visitor) {
9704 return visitor.visitDirectiveDefinition(this); 9707 return visitor.visitDirectiveDefinition(this);
9705 } 9708 }
9706 DirectiveDefinition.prototype.visit$1 = DirectiveDefinition.prototype.visit; 9709 DirectiveDefinition.prototype.visit$1 = DirectiveDefinition.prototype.visit;
9707 // ********** Code for TypeDefinition ************** 9710 // ********** Code for TypeDefinition **************
9711 $inherits(TypeDefinition, Definition);
9708 function TypeDefinition(isClass, name, typeParameters, extendsTypes, implementsT ypes, nativeType, factoryType, body, span) { 9712 function TypeDefinition(isClass, name, typeParameters, extendsTypes, implementsT ypes, nativeType, factoryType, body, span) {
9709 this.isClass = isClass; 9713 this.isClass = isClass;
9710 this.name = name; 9714 this.name = name;
9711 this.typeParameters = typeParameters; 9715 this.typeParameters = typeParameters;
9712 this.extendsTypes = extendsTypes; 9716 this.extendsTypes = extendsTypes;
9713 this.implementsTypes = implementsTypes; 9717 this.implementsTypes = implementsTypes;
9714 this.nativeType = nativeType; 9718 this.nativeType = nativeType;
9715 this.factoryType = factoryType; 9719 this.factoryType = factoryType;
9716 this.body = body; 9720 this.body = body;
9717 // Initializers done 9721 // Initializers done
9718 Definition.call(this, span); 9722 Definition.call(this, span);
9719 } 9723 }
9720 $inherits(TypeDefinition, Definition);
9721 TypeDefinition.prototype.get$isClass = function() { return this.isClass; }; 9724 TypeDefinition.prototype.get$isClass = function() { return this.isClass; };
9722 TypeDefinition.prototype.set$isClass = function(value) { return this.isClass = v alue; }; 9725 TypeDefinition.prototype.set$isClass = function(value) { return this.isClass = v alue; };
9723 TypeDefinition.prototype.get$name = function() { return this.name; }; 9726 TypeDefinition.prototype.get$name = function() { return this.name; };
9724 TypeDefinition.prototype.set$name = function(value) { return this.name = value; }; 9727 TypeDefinition.prototype.set$name = function(value) { return this.name = value; };
9725 TypeDefinition.prototype.get$typeParameters = function() { return this.typeParam eters; }; 9728 TypeDefinition.prototype.get$typeParameters = function() { return this.typeParam eters; };
9726 TypeDefinition.prototype.set$typeParameters = function(value) { return this.type Parameters = value; }; 9729 TypeDefinition.prototype.set$typeParameters = function(value) { return this.type Parameters = value; };
9727 TypeDefinition.prototype.get$nativeType = function() { return this.nativeType; } ; 9730 TypeDefinition.prototype.get$nativeType = function() { return this.nativeType; } ;
9728 TypeDefinition.prototype.set$nativeType = function(value) { return this.nativeTy pe = value; }; 9731 TypeDefinition.prototype.set$nativeType = function(value) { return this.nativeTy pe = value; };
9729 TypeDefinition.prototype.get$body = function() { return this.body; }; 9732 TypeDefinition.prototype.get$body = function() { return this.body; };
9730 TypeDefinition.prototype.set$body = function(value) { return this.body = value; }; 9733 TypeDefinition.prototype.set$body = function(value) { return this.body = value; };
9731 TypeDefinition.prototype.visit = function(visitor) { 9734 TypeDefinition.prototype.visit = function(visitor) {
9732 return visitor.visitTypeDefinition(this); 9735 return visitor.visitTypeDefinition(this);
9733 } 9736 }
9734 TypeDefinition.prototype.visit$1 = TypeDefinition.prototype.visit; 9737 TypeDefinition.prototype.visit$1 = TypeDefinition.prototype.visit;
9735 // ********** Code for FunctionTypeDefinition ************** 9738 // ********** Code for FunctionTypeDefinition **************
9739 $inherits(FunctionTypeDefinition, Definition);
9736 function FunctionTypeDefinition(func, typeParameters, span) { 9740 function FunctionTypeDefinition(func, typeParameters, span) {
9737 this.func = func; 9741 this.func = func;
9738 this.typeParameters = typeParameters; 9742 this.typeParameters = typeParameters;
9739 // Initializers done 9743 // Initializers done
9740 Definition.call(this, span); 9744 Definition.call(this, span);
9741 } 9745 }
9742 $inherits(FunctionTypeDefinition, Definition);
9743 FunctionTypeDefinition.prototype.get$func = function() { return this.func; }; 9746 FunctionTypeDefinition.prototype.get$func = function() { return this.func; };
9744 FunctionTypeDefinition.prototype.set$func = function(value) { return this.func = value; }; 9747 FunctionTypeDefinition.prototype.set$func = function(value) { return this.func = value; };
9745 FunctionTypeDefinition.prototype.get$typeParameters = function() { return this.t ypeParameters; }; 9748 FunctionTypeDefinition.prototype.get$typeParameters = function() { return this.t ypeParameters; };
9746 FunctionTypeDefinition.prototype.set$typeParameters = function(value) { return t his.typeParameters = value; }; 9749 FunctionTypeDefinition.prototype.set$typeParameters = function(value) { return t his.typeParameters = value; };
9747 FunctionTypeDefinition.prototype.visit = function(visitor) { 9750 FunctionTypeDefinition.prototype.visit = function(visitor) {
9748 return visitor.visitFunctionTypeDefinition(this); 9751 return visitor.visitFunctionTypeDefinition(this);
9749 } 9752 }
9750 FunctionTypeDefinition.prototype.visit$1 = FunctionTypeDefinition.prototype.visi t; 9753 FunctionTypeDefinition.prototype.visit$1 = FunctionTypeDefinition.prototype.visi t;
9751 // ********** Code for VariableDefinition ************** 9754 // ********** Code for VariableDefinition **************
9755 $inherits(VariableDefinition, Definition);
9752 function VariableDefinition(modifiers, type, names, values, span) { 9756 function VariableDefinition(modifiers, type, names, values, span) {
9753 this.modifiers = modifiers; 9757 this.modifiers = modifiers;
9754 this.type = type; 9758 this.type = type;
9755 this.names = names; 9759 this.names = names;
9756 this.values = values; 9760 this.values = values;
9757 // Initializers done 9761 // Initializers done
9758 Definition.call(this, span); 9762 Definition.call(this, span);
9759 } 9763 }
9760 $inherits(VariableDefinition, Definition);
9761 VariableDefinition.prototype.get$type = function() { return this.type; }; 9764 VariableDefinition.prototype.get$type = function() { return this.type; };
9762 VariableDefinition.prototype.set$type = function(value) { return this.type = val ue; }; 9765 VariableDefinition.prototype.set$type = function(value) { return this.type = val ue; };
9763 VariableDefinition.prototype.get$names = function() { return this.names; }; 9766 VariableDefinition.prototype.get$names = function() { return this.names; };
9764 VariableDefinition.prototype.set$names = function(value) { return this.names = v alue; }; 9767 VariableDefinition.prototype.set$names = function(value) { return this.names = v alue; };
9765 VariableDefinition.prototype.get$values = function() { return this.values; }; 9768 VariableDefinition.prototype.get$values = function() { return this.values; };
9766 VariableDefinition.prototype.set$values = function(value) { return this.values = value; }; 9769 VariableDefinition.prototype.set$values = function(value) { return this.values = value; };
9767 VariableDefinition.prototype.visit = function(visitor) { 9770 VariableDefinition.prototype.visit = function(visitor) {
9768 return visitor.visitVariableDefinition(this); 9771 return visitor.visitVariableDefinition(this);
9769 } 9772 }
9770 VariableDefinition.prototype.visit$1 = VariableDefinition.prototype.visit; 9773 VariableDefinition.prototype.visit$1 = VariableDefinition.prototype.visit;
9771 // ********** Code for FunctionDefinition ************** 9774 // ********** Code for FunctionDefinition **************
9775 $inherits(FunctionDefinition, Definition);
9772 function FunctionDefinition(modifiers, returnType, name, formals, typeParameters , initializers, nativeBody, body, span) { 9776 function FunctionDefinition(modifiers, returnType, name, formals, typeParameters , initializers, nativeBody, body, span) {
9773 this.modifiers = modifiers; 9777 this.modifiers = modifiers;
9774 this.returnType = returnType; 9778 this.returnType = returnType;
9775 this.name = name; 9779 this.name = name;
9776 this.formals = formals; 9780 this.formals = formals;
9777 this.typeParameters = typeParameters; 9781 this.typeParameters = typeParameters;
9778 this.initializers = initializers; 9782 this.initializers = initializers;
9779 this.nativeBody = nativeBody; 9783 this.nativeBody = nativeBody;
9780 this.body = body; 9784 this.body = body;
9781 // Initializers done 9785 // Initializers done
9782 Definition.call(this, span); 9786 Definition.call(this, span);
9783 } 9787 }
9784 $inherits(FunctionDefinition, Definition);
9785 FunctionDefinition.prototype.get$returnType = function() { return this.returnTyp e; }; 9788 FunctionDefinition.prototype.get$returnType = function() { return this.returnTyp e; };
9786 FunctionDefinition.prototype.set$returnType = function(value) { return this.retu rnType = value; }; 9789 FunctionDefinition.prototype.set$returnType = function(value) { return this.retu rnType = value; };
9787 FunctionDefinition.prototype.get$name = function() { return this.name; }; 9790 FunctionDefinition.prototype.get$name = function() { return this.name; };
9788 FunctionDefinition.prototype.set$name = function(value) { return this.name = val ue; }; 9791 FunctionDefinition.prototype.set$name = function(value) { return this.name = val ue; };
9789 FunctionDefinition.prototype.get$typeParameters = function() { return this.typeP arameters; }; 9792 FunctionDefinition.prototype.get$typeParameters = function() { return this.typeP arameters; };
9790 FunctionDefinition.prototype.set$typeParameters = function(value) { return this. typeParameters = value; }; 9793 FunctionDefinition.prototype.set$typeParameters = function(value) { return this. typeParameters = value; };
9791 FunctionDefinition.prototype.get$initializers = function() { return this.initial izers; }; 9794 FunctionDefinition.prototype.get$initializers = function() { return this.initial izers; };
9792 FunctionDefinition.prototype.set$initializers = function(value) { return this.in itializers = value; }; 9795 FunctionDefinition.prototype.set$initializers = function(value) { return this.in itializers = value; };
9793 FunctionDefinition.prototype.get$nativeBody = function() { return this.nativeBod y; }; 9796 FunctionDefinition.prototype.get$nativeBody = function() { return this.nativeBod y; };
9794 FunctionDefinition.prototype.set$nativeBody = function(value) { return this.nati veBody = value; }; 9797 FunctionDefinition.prototype.set$nativeBody = function(value) { return this.nati veBody = value; };
9795 FunctionDefinition.prototype.get$body = function() { return this.body; }; 9798 FunctionDefinition.prototype.get$body = function() { return this.body; };
9796 FunctionDefinition.prototype.set$body = function(value) { return this.body = val ue; }; 9799 FunctionDefinition.prototype.set$body = function(value) { return this.body = val ue; };
9797 FunctionDefinition.prototype.visit = function(visitor) { 9800 FunctionDefinition.prototype.visit = function(visitor) {
9798 return visitor.visitFunctionDefinition(this); 9801 return visitor.visitFunctionDefinition(this);
9799 } 9802 }
9800 FunctionDefinition.prototype.visit$1 = FunctionDefinition.prototype.visit; 9803 FunctionDefinition.prototype.visit$1 = FunctionDefinition.prototype.visit;
9801 // ********** Code for ReturnStatement ************** 9804 // ********** Code for ReturnStatement **************
9805 $inherits(ReturnStatement, Statement);
9802 function ReturnStatement(value, span) { 9806 function ReturnStatement(value, span) {
9803 this.value = value; 9807 this.value = value;
9804 // Initializers done 9808 // Initializers done
9805 Statement.call(this, span); 9809 Statement.call(this, span);
9806 } 9810 }
9807 $inherits(ReturnStatement, Statement);
9808 ReturnStatement.prototype.get$value = function() { return this.value; }; 9811 ReturnStatement.prototype.get$value = function() { return this.value; };
9809 ReturnStatement.prototype.set$value = function(value) { return this.value = valu e; }; 9812 ReturnStatement.prototype.set$value = function(value) { return this.value = valu e; };
9810 ReturnStatement.prototype.visit = function(visitor) { 9813 ReturnStatement.prototype.visit = function(visitor) {
9811 return visitor.visitReturnStatement(this); 9814 return visitor.visitReturnStatement(this);
9812 } 9815 }
9813 ReturnStatement.prototype.visit$1 = ReturnStatement.prototype.visit; 9816 ReturnStatement.prototype.visit$1 = ReturnStatement.prototype.visit;
9814 // ********** Code for ThrowStatement ************** 9817 // ********** Code for ThrowStatement **************
9818 $inherits(ThrowStatement, Statement);
9815 function ThrowStatement(value, span) { 9819 function ThrowStatement(value, span) {
9816 this.value = value; 9820 this.value = value;
9817 // Initializers done 9821 // Initializers done
9818 Statement.call(this, span); 9822 Statement.call(this, span);
9819 } 9823 }
9820 $inherits(ThrowStatement, Statement);
9821 ThrowStatement.prototype.get$value = function() { return this.value; }; 9824 ThrowStatement.prototype.get$value = function() { return this.value; };
9822 ThrowStatement.prototype.set$value = function(value) { return this.value = value ; }; 9825 ThrowStatement.prototype.set$value = function(value) { return this.value = value ; };
9823 ThrowStatement.prototype.visit = function(visitor) { 9826 ThrowStatement.prototype.visit = function(visitor) {
9824 return visitor.visitThrowStatement(this); 9827 return visitor.visitThrowStatement(this);
9825 } 9828 }
9826 ThrowStatement.prototype.visit$1 = ThrowStatement.prototype.visit; 9829 ThrowStatement.prototype.visit$1 = ThrowStatement.prototype.visit;
9827 // ********** Code for AssertStatement ************** 9830 // ********** Code for AssertStatement **************
9831 $inherits(AssertStatement, Statement);
9828 function AssertStatement(test, span) { 9832 function AssertStatement(test, span) {
9829 this.test = test; 9833 this.test = test;
9830 // Initializers done 9834 // Initializers done
9831 Statement.call(this, span); 9835 Statement.call(this, span);
9832 } 9836 }
9833 $inherits(AssertStatement, Statement);
9834 AssertStatement.prototype.visit = function(visitor) { 9837 AssertStatement.prototype.visit = function(visitor) {
9835 return visitor.visitAssertStatement(this); 9838 return visitor.visitAssertStatement(this);
9836 } 9839 }
9837 AssertStatement.prototype.visit$1 = AssertStatement.prototype.visit; 9840 AssertStatement.prototype.visit$1 = AssertStatement.prototype.visit;
9838 // ********** Code for BreakStatement ************** 9841 // ********** Code for BreakStatement **************
9842 $inherits(BreakStatement, Statement);
9839 function BreakStatement(label, span) { 9843 function BreakStatement(label, span) {
9840 this.label = label; 9844 this.label = label;
9841 // Initializers done 9845 // Initializers done
9842 Statement.call(this, span); 9846 Statement.call(this, span);
9843 } 9847 }
9844 $inherits(BreakStatement, Statement);
9845 BreakStatement.prototype.get$label = function() { return this.label; }; 9848 BreakStatement.prototype.get$label = function() { return this.label; };
9846 BreakStatement.prototype.set$label = function(value) { return this.label = value ; }; 9849 BreakStatement.prototype.set$label = function(value) { return this.label = value ; };
9847 BreakStatement.prototype.visit = function(visitor) { 9850 BreakStatement.prototype.visit = function(visitor) {
9848 return visitor.visitBreakStatement(this); 9851 return visitor.visitBreakStatement(this);
9849 } 9852 }
9850 BreakStatement.prototype.visit$1 = BreakStatement.prototype.visit; 9853 BreakStatement.prototype.visit$1 = BreakStatement.prototype.visit;
9851 // ********** Code for ContinueStatement ************** 9854 // ********** Code for ContinueStatement **************
9855 $inherits(ContinueStatement, Statement);
9852 function ContinueStatement(label, span) { 9856 function ContinueStatement(label, span) {
9853 this.label = label; 9857 this.label = label;
9854 // Initializers done 9858 // Initializers done
9855 Statement.call(this, span); 9859 Statement.call(this, span);
9856 } 9860 }
9857 $inherits(ContinueStatement, Statement);
9858 ContinueStatement.prototype.get$label = function() { return this.label; }; 9861 ContinueStatement.prototype.get$label = function() { return this.label; };
9859 ContinueStatement.prototype.set$label = function(value) { return this.label = va lue; }; 9862 ContinueStatement.prototype.set$label = function(value) { return this.label = va lue; };
9860 ContinueStatement.prototype.visit = function(visitor) { 9863 ContinueStatement.prototype.visit = function(visitor) {
9861 return visitor.visitContinueStatement(this); 9864 return visitor.visitContinueStatement(this);
9862 } 9865 }
9863 ContinueStatement.prototype.visit$1 = ContinueStatement.prototype.visit; 9866 ContinueStatement.prototype.visit$1 = ContinueStatement.prototype.visit;
9864 // ********** Code for IfStatement ************** 9867 // ********** Code for IfStatement **************
9868 $inherits(IfStatement, Statement);
9865 function IfStatement(test, trueBranch, falseBranch, span) { 9869 function IfStatement(test, trueBranch, falseBranch, span) {
9866 this.test = test; 9870 this.test = test;
9867 this.trueBranch = trueBranch; 9871 this.trueBranch = trueBranch;
9868 this.falseBranch = falseBranch; 9872 this.falseBranch = falseBranch;
9869 // Initializers done 9873 // Initializers done
9870 Statement.call(this, span); 9874 Statement.call(this, span);
9871 } 9875 }
9872 $inherits(IfStatement, Statement);
9873 IfStatement.prototype.visit = function(visitor) { 9876 IfStatement.prototype.visit = function(visitor) {
9874 return visitor.visitIfStatement(this); 9877 return visitor.visitIfStatement(this);
9875 } 9878 }
9876 IfStatement.prototype.visit$1 = IfStatement.prototype.visit; 9879 IfStatement.prototype.visit$1 = IfStatement.prototype.visit;
9877 // ********** Code for WhileStatement ************** 9880 // ********** Code for WhileStatement **************
9881 $inherits(WhileStatement, Statement);
9878 function WhileStatement(test, body, span) { 9882 function WhileStatement(test, body, span) {
9879 this.test = test; 9883 this.test = test;
9880 this.body = body; 9884 this.body = body;
9881 // Initializers done 9885 // Initializers done
9882 Statement.call(this, span); 9886 Statement.call(this, span);
9883 } 9887 }
9884 $inherits(WhileStatement, Statement);
9885 WhileStatement.prototype.get$body = function() { return this.body; }; 9888 WhileStatement.prototype.get$body = function() { return this.body; };
9886 WhileStatement.prototype.set$body = function(value) { return this.body = value; }; 9889 WhileStatement.prototype.set$body = function(value) { return this.body = value; };
9887 WhileStatement.prototype.visit = function(visitor) { 9890 WhileStatement.prototype.visit = function(visitor) {
9888 return visitor.visitWhileStatement(this); 9891 return visitor.visitWhileStatement(this);
9889 } 9892 }
9890 WhileStatement.prototype.visit$1 = WhileStatement.prototype.visit; 9893 WhileStatement.prototype.visit$1 = WhileStatement.prototype.visit;
9891 // ********** Code for DoStatement ************** 9894 // ********** Code for DoStatement **************
9895 $inherits(DoStatement, Statement);
9892 function DoStatement(body, test, span) { 9896 function DoStatement(body, test, span) {
9893 this.body = body; 9897 this.body = body;
9894 this.test = test; 9898 this.test = test;
9895 // Initializers done 9899 // Initializers done
9896 Statement.call(this, span); 9900 Statement.call(this, span);
9897 } 9901 }
9898 $inherits(DoStatement, Statement);
9899 DoStatement.prototype.get$body = function() { return this.body; }; 9902 DoStatement.prototype.get$body = function() { return this.body; };
9900 DoStatement.prototype.set$body = function(value) { return this.body = value; }; 9903 DoStatement.prototype.set$body = function(value) { return this.body = value; };
9901 DoStatement.prototype.visit = function(visitor) { 9904 DoStatement.prototype.visit = function(visitor) {
9902 return visitor.visitDoStatement(this); 9905 return visitor.visitDoStatement(this);
9903 } 9906 }
9904 DoStatement.prototype.visit$1 = DoStatement.prototype.visit; 9907 DoStatement.prototype.visit$1 = DoStatement.prototype.visit;
9905 // ********** Code for ForStatement ************** 9908 // ********** Code for ForStatement **************
9909 $inherits(ForStatement, Statement);
9906 function ForStatement(init, test, step, body, span) { 9910 function ForStatement(init, test, step, body, span) {
9907 this.init = init; 9911 this.init = init;
9908 this.test = test; 9912 this.test = test;
9909 this.step = step; 9913 this.step = step;
9910 this.body = body; 9914 this.body = body;
9911 // Initializers done 9915 // Initializers done
9912 Statement.call(this, span); 9916 Statement.call(this, span);
9913 } 9917 }
9914 $inherits(ForStatement, Statement);
9915 ForStatement.prototype.get$body = function() { return this.body; }; 9918 ForStatement.prototype.get$body = function() { return this.body; };
9916 ForStatement.prototype.set$body = function(value) { return this.body = value; }; 9919 ForStatement.prototype.set$body = function(value) { return this.body = value; };
9917 ForStatement.prototype.visit = function(visitor) { 9920 ForStatement.prototype.visit = function(visitor) {
9918 return visitor.visitForStatement(this); 9921 return visitor.visitForStatement(this);
9919 } 9922 }
9920 ForStatement.prototype.visit$1 = ForStatement.prototype.visit; 9923 ForStatement.prototype.visit$1 = ForStatement.prototype.visit;
9921 // ********** Code for ForInStatement ************** 9924 // ********** Code for ForInStatement **************
9925 $inherits(ForInStatement, Statement);
9922 function ForInStatement(item, list, body, span) { 9926 function ForInStatement(item, list, body, span) {
9923 this.item = item; 9927 this.item = item;
9924 this.list = list; 9928 this.list = list;
9925 this.body = body; 9929 this.body = body;
9926 // Initializers done 9930 // Initializers done
9927 Statement.call(this, span); 9931 Statement.call(this, span);
9928 } 9932 }
9929 $inherits(ForInStatement, Statement);
9930 ForInStatement.prototype.get$body = function() { return this.body; }; 9933 ForInStatement.prototype.get$body = function() { return this.body; };
9931 ForInStatement.prototype.set$body = function(value) { return this.body = value; }; 9934 ForInStatement.prototype.set$body = function(value) { return this.body = value; };
9932 ForInStatement.prototype.visit = function(visitor) { 9935 ForInStatement.prototype.visit = function(visitor) {
9933 return visitor.visitForInStatement(this); 9936 return visitor.visitForInStatement(this);
9934 } 9937 }
9935 ForInStatement.prototype.visit$1 = ForInStatement.prototype.visit; 9938 ForInStatement.prototype.visit$1 = ForInStatement.prototype.visit;
9936 // ********** Code for TryStatement ************** 9939 // ********** Code for TryStatement **************
9940 $inherits(TryStatement, Statement);
9937 function TryStatement(body, catches, finallyBlock, span) { 9941 function TryStatement(body, catches, finallyBlock, span) {
9938 this.body = body; 9942 this.body = body;
9939 this.catches = catches; 9943 this.catches = catches;
9940 this.finallyBlock = finallyBlock; 9944 this.finallyBlock = finallyBlock;
9941 // Initializers done 9945 // Initializers done
9942 Statement.call(this, span); 9946 Statement.call(this, span);
9943 } 9947 }
9944 $inherits(TryStatement, Statement);
9945 TryStatement.prototype.get$body = function() { return this.body; }; 9948 TryStatement.prototype.get$body = function() { return this.body; };
9946 TryStatement.prototype.set$body = function(value) { return this.body = value; }; 9949 TryStatement.prototype.set$body = function(value) { return this.body = value; };
9947 TryStatement.prototype.visit = function(visitor) { 9950 TryStatement.prototype.visit = function(visitor) {
9948 return visitor.visitTryStatement(this); 9951 return visitor.visitTryStatement(this);
9949 } 9952 }
9950 TryStatement.prototype.visit$1 = TryStatement.prototype.visit; 9953 TryStatement.prototype.visit$1 = TryStatement.prototype.visit;
9951 // ********** Code for SwitchStatement ************** 9954 // ********** Code for SwitchStatement **************
9955 $inherits(SwitchStatement, Statement);
9952 function SwitchStatement(test, cases, span) { 9956 function SwitchStatement(test, cases, span) {
9953 this.test = test; 9957 this.test = test;
9954 this.cases = cases; 9958 this.cases = cases;
9955 // Initializers done 9959 // Initializers done
9956 Statement.call(this, span); 9960 Statement.call(this, span);
9957 } 9961 }
9958 $inherits(SwitchStatement, Statement);
9959 SwitchStatement.prototype.get$cases = function() { return this.cases; }; 9962 SwitchStatement.prototype.get$cases = function() { return this.cases; };
9960 SwitchStatement.prototype.set$cases = function(value) { return this.cases = valu e; }; 9963 SwitchStatement.prototype.set$cases = function(value) { return this.cases = valu e; };
9961 SwitchStatement.prototype.visit = function(visitor) { 9964 SwitchStatement.prototype.visit = function(visitor) {
9962 return visitor.visitSwitchStatement(this); 9965 return visitor.visitSwitchStatement(this);
9963 } 9966 }
9964 SwitchStatement.prototype.visit$1 = SwitchStatement.prototype.visit; 9967 SwitchStatement.prototype.visit$1 = SwitchStatement.prototype.visit;
9965 // ********** Code for BlockStatement ************** 9968 // ********** Code for BlockStatement **************
9969 $inherits(BlockStatement, Statement);
9966 function BlockStatement(body, span) { 9970 function BlockStatement(body, span) {
9967 this.body = body; 9971 this.body = body;
9968 // Initializers done 9972 // Initializers done
9969 Statement.call(this, span); 9973 Statement.call(this, span);
9970 } 9974 }
9971 $inherits(BlockStatement, Statement);
9972 BlockStatement.prototype.get$body = function() { return this.body; }; 9975 BlockStatement.prototype.get$body = function() { return this.body; };
9973 BlockStatement.prototype.set$body = function(value) { return this.body = value; }; 9976 BlockStatement.prototype.set$body = function(value) { return this.body = value; };
9974 BlockStatement.prototype.visit = function(visitor) { 9977 BlockStatement.prototype.visit = function(visitor) {
9975 return visitor.visitBlockStatement(this); 9978 return visitor.visitBlockStatement(this);
9976 } 9979 }
9977 BlockStatement.prototype.visit$1 = BlockStatement.prototype.visit; 9980 BlockStatement.prototype.visit$1 = BlockStatement.prototype.visit;
9978 // ********** Code for LabeledStatement ************** 9981 // ********** Code for LabeledStatement **************
9982 $inherits(LabeledStatement, Statement);
9979 function LabeledStatement(name, body, span) { 9983 function LabeledStatement(name, body, span) {
9980 this.name = name; 9984 this.name = name;
9981 this.body = body; 9985 this.body = body;
9982 // Initializers done 9986 // Initializers done
9983 Statement.call(this, span); 9987 Statement.call(this, span);
9984 } 9988 }
9985 $inherits(LabeledStatement, Statement);
9986 LabeledStatement.prototype.get$name = function() { return this.name; }; 9989 LabeledStatement.prototype.get$name = function() { return this.name; };
9987 LabeledStatement.prototype.set$name = function(value) { return this.name = value ; }; 9990 LabeledStatement.prototype.set$name = function(value) { return this.name = value ; };
9988 LabeledStatement.prototype.get$body = function() { return this.body; }; 9991 LabeledStatement.prototype.get$body = function() { return this.body; };
9989 LabeledStatement.prototype.set$body = function(value) { return this.body = value ; }; 9992 LabeledStatement.prototype.set$body = function(value) { return this.body = value ; };
9990 LabeledStatement.prototype.visit = function(visitor) { 9993 LabeledStatement.prototype.visit = function(visitor) {
9991 return visitor.visitLabeledStatement(this); 9994 return visitor.visitLabeledStatement(this);
9992 } 9995 }
9993 LabeledStatement.prototype.visit$1 = LabeledStatement.prototype.visit; 9996 LabeledStatement.prototype.visit$1 = LabeledStatement.prototype.visit;
9994 // ********** Code for ExpressionStatement ************** 9997 // ********** Code for ExpressionStatement **************
9998 $inherits(ExpressionStatement, Statement);
9995 function ExpressionStatement(body, span) { 9999 function ExpressionStatement(body, span) {
9996 this.body = body; 10000 this.body = body;
9997 // Initializers done 10001 // Initializers done
9998 Statement.call(this, span); 10002 Statement.call(this, span);
9999 } 10003 }
10000 $inherits(ExpressionStatement, Statement);
10001 ExpressionStatement.prototype.get$body = function() { return this.body; }; 10004 ExpressionStatement.prototype.get$body = function() { return this.body; };
10002 ExpressionStatement.prototype.set$body = function(value) { return this.body = va lue; }; 10005 ExpressionStatement.prototype.set$body = function(value) { return this.body = va lue; };
10003 ExpressionStatement.prototype.visit = function(visitor) { 10006 ExpressionStatement.prototype.visit = function(visitor) {
10004 return visitor.visitExpressionStatement(this); 10007 return visitor.visitExpressionStatement(this);
10005 } 10008 }
10006 ExpressionStatement.prototype.visit$1 = ExpressionStatement.prototype.visit; 10009 ExpressionStatement.prototype.visit$1 = ExpressionStatement.prototype.visit;
10007 // ********** Code for EmptyStatement ************** 10010 // ********** Code for EmptyStatement **************
10011 $inherits(EmptyStatement, Statement);
10008 function EmptyStatement(span) { 10012 function EmptyStatement(span) {
10009 // Initializers done 10013 // Initializers done
10010 Statement.call(this, span); 10014 Statement.call(this, span);
10011 } 10015 }
10012 $inherits(EmptyStatement, Statement);
10013 EmptyStatement.prototype.visit = function(visitor) { 10016 EmptyStatement.prototype.visit = function(visitor) {
10014 return visitor.visitEmptyStatement(this); 10017 return visitor.visitEmptyStatement(this);
10015 } 10018 }
10016 EmptyStatement.prototype.visit$1 = EmptyStatement.prototype.visit; 10019 EmptyStatement.prototype.visit$1 = EmptyStatement.prototype.visit;
10017 // ********** Code for DietStatement ************** 10020 // ********** Code for DietStatement **************
10021 $inherits(DietStatement, Statement);
10018 function DietStatement(span) { 10022 function DietStatement(span) {
10019 // Initializers done 10023 // Initializers done
10020 Statement.call(this, span); 10024 Statement.call(this, span);
10021 } 10025 }
10022 $inherits(DietStatement, Statement);
10023 DietStatement.prototype.visit = function(visitor) { 10026 DietStatement.prototype.visit = function(visitor) {
10024 return visitor.visitDietStatement(this); 10027 return visitor.visitDietStatement(this);
10025 } 10028 }
10026 DietStatement.prototype.visit$1 = DietStatement.prototype.visit; 10029 DietStatement.prototype.visit$1 = DietStatement.prototype.visit;
10027 // ********** Code for LambdaExpression ************** 10030 // ********** Code for LambdaExpression **************
10031 $inherits(LambdaExpression, Expression);
10028 function LambdaExpression(func, span) { 10032 function LambdaExpression(func, span) {
10029 this.func = func; 10033 this.func = func;
10030 // Initializers done 10034 // Initializers done
10031 Expression.call(this, span); 10035 Expression.call(this, span);
10032 } 10036 }
10033 $inherits(LambdaExpression, Expression);
10034 LambdaExpression.prototype.get$func = function() { return this.func; }; 10037 LambdaExpression.prototype.get$func = function() { return this.func; };
10035 LambdaExpression.prototype.set$func = function(value) { return this.func = value ; }; 10038 LambdaExpression.prototype.set$func = function(value) { return this.func = value ; };
10036 LambdaExpression.prototype.visit = function(visitor) { 10039 LambdaExpression.prototype.visit = function(visitor) {
10037 return visitor.visitLambdaExpression(this); 10040 return visitor.visitLambdaExpression(this);
10038 } 10041 }
10039 LambdaExpression.prototype.visit$1 = LambdaExpression.prototype.visit; 10042 LambdaExpression.prototype.visit$1 = LambdaExpression.prototype.visit;
10040 // ********** Code for CallExpression ************** 10043 // ********** Code for CallExpression **************
10044 $inherits(CallExpression, Expression);
10041 function CallExpression(target, arguments, span) { 10045 function CallExpression(target, arguments, span) {
10042 this.target = target; 10046 this.target = target;
10043 this.arguments = arguments; 10047 this.arguments = arguments;
10044 // Initializers done 10048 // Initializers done
10045 Expression.call(this, span); 10049 Expression.call(this, span);
10046 } 10050 }
10047 $inherits(CallExpression, Expression);
10048 CallExpression.prototype.get$target = function() { return this.target; }; 10051 CallExpression.prototype.get$target = function() { return this.target; };
10049 CallExpression.prototype.set$target = function(value) { return this.target = val ue; }; 10052 CallExpression.prototype.set$target = function(value) { return this.target = val ue; };
10050 CallExpression.prototype.get$arguments = function() { return this.arguments; }; 10053 CallExpression.prototype.get$arguments = function() { return this.arguments; };
10051 CallExpression.prototype.set$arguments = function(value) { return this.arguments = value; }; 10054 CallExpression.prototype.set$arguments = function(value) { return this.arguments = value; };
10052 CallExpression.prototype.visit = function(visitor) { 10055 CallExpression.prototype.visit = function(visitor) {
10053 return visitor.visitCallExpression(this); 10056 return visitor.visitCallExpression(this);
10054 } 10057 }
10055 CallExpression.prototype.visit$1 = CallExpression.prototype.visit; 10058 CallExpression.prototype.visit$1 = CallExpression.prototype.visit;
10056 // ********** Code for IndexExpression ************** 10059 // ********** Code for IndexExpression **************
10060 $inherits(IndexExpression, Expression);
10057 function IndexExpression(target, index, span) { 10061 function IndexExpression(target, index, span) {
10058 this.target = target; 10062 this.target = target;
10059 this.index = index; 10063 this.index = index;
10060 // Initializers done 10064 // Initializers done
10061 Expression.call(this, span); 10065 Expression.call(this, span);
10062 } 10066 }
10063 $inherits(IndexExpression, Expression);
10064 IndexExpression.prototype.get$target = function() { return this.target; }; 10067 IndexExpression.prototype.get$target = function() { return this.target; };
10065 IndexExpression.prototype.set$target = function(value) { return this.target = va lue; }; 10068 IndexExpression.prototype.set$target = function(value) { return this.target = va lue; };
10066 IndexExpression.prototype.visit = function(visitor) { 10069 IndexExpression.prototype.visit = function(visitor) {
10067 return visitor.visitIndexExpression(this); 10070 return visitor.visitIndexExpression(this);
10068 } 10071 }
10069 IndexExpression.prototype.visit$1 = IndexExpression.prototype.visit; 10072 IndexExpression.prototype.visit$1 = IndexExpression.prototype.visit;
10070 // ********** Code for BinaryExpression ************** 10073 // ********** Code for BinaryExpression **************
10074 $inherits(BinaryExpression, Expression);
10071 function BinaryExpression(op, x, y, span) { 10075 function BinaryExpression(op, x, y, span) {
10072 this.op = op; 10076 this.op = op;
10073 this.x = x; 10077 this.x = x;
10074 this.y = y; 10078 this.y = y;
10075 // Initializers done 10079 // Initializers done
10076 Expression.call(this, span); 10080 Expression.call(this, span);
10077 } 10081 }
10078 $inherits(BinaryExpression, Expression);
10079 BinaryExpression.prototype.get$op = function() { return this.op; }; 10082 BinaryExpression.prototype.get$op = function() { return this.op; };
10080 BinaryExpression.prototype.set$op = function(value) { return this.op = value; }; 10083 BinaryExpression.prototype.set$op = function(value) { return this.op = value; };
10081 BinaryExpression.prototype.get$x = function() { return this.x; }; 10084 BinaryExpression.prototype.get$x = function() { return this.x; };
10082 BinaryExpression.prototype.set$x = function(value) { return this.x = value; }; 10085 BinaryExpression.prototype.set$x = function(value) { return this.x = value; };
10083 BinaryExpression.prototype.get$y = function() { return this.y; }; 10086 BinaryExpression.prototype.get$y = function() { return this.y; };
10084 BinaryExpression.prototype.set$y = function(value) { return this.y = value; }; 10087 BinaryExpression.prototype.set$y = function(value) { return this.y = value; };
10085 BinaryExpression.prototype.visit = function(visitor) { 10088 BinaryExpression.prototype.visit = function(visitor) {
10086 return visitor.visitBinaryExpression$1(this); 10089 return visitor.visitBinaryExpression$1(this);
10087 } 10090 }
10088 BinaryExpression.prototype.visit$1 = BinaryExpression.prototype.visit; 10091 BinaryExpression.prototype.visit$1 = BinaryExpression.prototype.visit;
10089 // ********** Code for UnaryExpression ************** 10092 // ********** Code for UnaryExpression **************
10093 $inherits(UnaryExpression, Expression);
10090 function UnaryExpression(op, self, span) { 10094 function UnaryExpression(op, self, span) {
10091 this.op = op; 10095 this.op = op;
10092 this.self = self; 10096 this.self = self;
10093 // Initializers done 10097 // Initializers done
10094 Expression.call(this, span); 10098 Expression.call(this, span);
10095 } 10099 }
10096 $inherits(UnaryExpression, Expression);
10097 UnaryExpression.prototype.get$op = function() { return this.op; }; 10100 UnaryExpression.prototype.get$op = function() { return this.op; };
10098 UnaryExpression.prototype.set$op = function(value) { return this.op = value; }; 10101 UnaryExpression.prototype.set$op = function(value) { return this.op = value; };
10099 UnaryExpression.prototype.get$self = function() { return this.self; }; 10102 UnaryExpression.prototype.get$self = function() { return this.self; };
10100 UnaryExpression.prototype.set$self = function(value) { return this.self = value; }; 10103 UnaryExpression.prototype.set$self = function(value) { return this.self = value; };
10101 UnaryExpression.prototype.visit = function(visitor) { 10104 UnaryExpression.prototype.visit = function(visitor) {
10102 return visitor.visitUnaryExpression(this); 10105 return visitor.visitUnaryExpression(this);
10103 } 10106 }
10104 UnaryExpression.prototype.visit$1 = UnaryExpression.prototype.visit; 10107 UnaryExpression.prototype.visit$1 = UnaryExpression.prototype.visit;
10105 // ********** Code for PostfixExpression ************** 10108 // ********** Code for PostfixExpression **************
10109 $inherits(PostfixExpression, Expression);
10106 function PostfixExpression(body, op, span) { 10110 function PostfixExpression(body, op, span) {
10107 this.body = body; 10111 this.body = body;
10108 this.op = op; 10112 this.op = op;
10109 // Initializers done 10113 // Initializers done
10110 Expression.call(this, span); 10114 Expression.call(this, span);
10111 } 10115 }
10112 $inherits(PostfixExpression, Expression);
10113 PostfixExpression.prototype.get$body = function() { return this.body; }; 10116 PostfixExpression.prototype.get$body = function() { return this.body; };
10114 PostfixExpression.prototype.set$body = function(value) { return this.body = valu e; }; 10117 PostfixExpression.prototype.set$body = function(value) { return this.body = valu e; };
10115 PostfixExpression.prototype.get$op = function() { return this.op; }; 10118 PostfixExpression.prototype.get$op = function() { return this.op; };
10116 PostfixExpression.prototype.set$op = function(value) { return this.op = value; } ; 10119 PostfixExpression.prototype.set$op = function(value) { return this.op = value; } ;
10117 PostfixExpression.prototype.visit = function(visitor) { 10120 PostfixExpression.prototype.visit = function(visitor) {
10118 return visitor.visitPostfixExpression$1(this); 10121 return visitor.visitPostfixExpression$1(this);
10119 } 10122 }
10120 PostfixExpression.prototype.visit$1 = PostfixExpression.prototype.visit; 10123 PostfixExpression.prototype.visit$1 = PostfixExpression.prototype.visit;
10121 // ********** Code for NewExpression ************** 10124 // ********** Code for NewExpression **************
10125 $inherits(NewExpression, Expression);
10122 function NewExpression(isConst, type, name, arguments, span) { 10126 function NewExpression(isConst, type, name, arguments, span) {
10123 this.isConst = isConst; 10127 this.isConst = isConst;
10124 this.type = type; 10128 this.type = type;
10125 this.name = name; 10129 this.name = name;
10126 this.arguments = arguments; 10130 this.arguments = arguments;
10127 // Initializers done 10131 // Initializers done
10128 Expression.call(this, span); 10132 Expression.call(this, span);
10129 } 10133 }
10130 $inherits(NewExpression, Expression);
10131 NewExpression.prototype.get$isConst = function() { return this.isConst; }; 10134 NewExpression.prototype.get$isConst = function() { return this.isConst; };
10132 NewExpression.prototype.set$isConst = function(value) { return this.isConst = va lue; }; 10135 NewExpression.prototype.set$isConst = function(value) { return this.isConst = va lue; };
10133 NewExpression.prototype.get$type = function() { return this.type; }; 10136 NewExpression.prototype.get$type = function() { return this.type; };
10134 NewExpression.prototype.set$type = function(value) { return this.type = value; } ; 10137 NewExpression.prototype.set$type = function(value) { return this.type = value; } ;
10135 NewExpression.prototype.get$name = function() { return this.name; }; 10138 NewExpression.prototype.get$name = function() { return this.name; };
10136 NewExpression.prototype.set$name = function(value) { return this.name = value; } ; 10139 NewExpression.prototype.set$name = function(value) { return this.name = value; } ;
10137 NewExpression.prototype.get$arguments = function() { return this.arguments; }; 10140 NewExpression.prototype.get$arguments = function() { return this.arguments; };
10138 NewExpression.prototype.set$arguments = function(value) { return this.arguments = value; }; 10141 NewExpression.prototype.set$arguments = function(value) { return this.arguments = value; };
10139 NewExpression.prototype.visit = function(visitor) { 10142 NewExpression.prototype.visit = function(visitor) {
10140 return visitor.visitNewExpression(this); 10143 return visitor.visitNewExpression(this);
10141 } 10144 }
10142 NewExpression.prototype.visit$1 = NewExpression.prototype.visit; 10145 NewExpression.prototype.visit$1 = NewExpression.prototype.visit;
10143 // ********** Code for ListExpression ************** 10146 // ********** Code for ListExpression **************
10147 $inherits(ListExpression, Expression);
10144 function ListExpression(isConst, type, values, span) { 10148 function ListExpression(isConst, type, values, span) {
10145 this.isConst = isConst; 10149 this.isConst = isConst;
10146 this.type = type; 10150 this.type = type;
10147 this.values = values; 10151 this.values = values;
10148 // Initializers done 10152 // Initializers done
10149 Expression.call(this, span); 10153 Expression.call(this, span);
10150 } 10154 }
10151 $inherits(ListExpression, Expression);
10152 ListExpression.prototype.get$isConst = function() { return this.isConst; }; 10155 ListExpression.prototype.get$isConst = function() { return this.isConst; };
10153 ListExpression.prototype.set$isConst = function(value) { return this.isConst = v alue; }; 10156 ListExpression.prototype.set$isConst = function(value) { return this.isConst = v alue; };
10154 ListExpression.prototype.get$type = function() { return this.type; }; 10157 ListExpression.prototype.get$type = function() { return this.type; };
10155 ListExpression.prototype.set$type = function(value) { return this.type = value; }; 10158 ListExpression.prototype.set$type = function(value) { return this.type = value; };
10156 ListExpression.prototype.get$values = function() { return this.values; }; 10159 ListExpression.prototype.get$values = function() { return this.values; };
10157 ListExpression.prototype.set$values = function(value) { return this.values = val ue; }; 10160 ListExpression.prototype.set$values = function(value) { return this.values = val ue; };
10158 ListExpression.prototype.visit = function(visitor) { 10161 ListExpression.prototype.visit = function(visitor) {
10159 return visitor.visitListExpression(this); 10162 return visitor.visitListExpression(this);
10160 } 10163 }
10161 ListExpression.prototype.visit$1 = ListExpression.prototype.visit; 10164 ListExpression.prototype.visit$1 = ListExpression.prototype.visit;
10162 // ********** Code for MapExpression ************** 10165 // ********** Code for MapExpression **************
10166 $inherits(MapExpression, Expression);
10163 function MapExpression(isConst, type, items, span) { 10167 function MapExpression(isConst, type, items, span) {
10164 this.isConst = isConst; 10168 this.isConst = isConst;
10165 this.type = type; 10169 this.type = type;
10166 this.items = items; 10170 this.items = items;
10167 // Initializers done 10171 // Initializers done
10168 Expression.call(this, span); 10172 Expression.call(this, span);
10169 } 10173 }
10170 $inherits(MapExpression, Expression);
10171 MapExpression.prototype.get$isConst = function() { return this.isConst; }; 10174 MapExpression.prototype.get$isConst = function() { return this.isConst; };
10172 MapExpression.prototype.set$isConst = function(value) { return this.isConst = va lue; }; 10175 MapExpression.prototype.set$isConst = function(value) { return this.isConst = va lue; };
10173 MapExpression.prototype.get$type = function() { return this.type; }; 10176 MapExpression.prototype.get$type = function() { return this.type; };
10174 MapExpression.prototype.set$type = function(value) { return this.type = value; } ; 10177 MapExpression.prototype.set$type = function(value) { return this.type = value; } ;
10175 MapExpression.prototype.visit = function(visitor) { 10178 MapExpression.prototype.visit = function(visitor) {
10176 return visitor.visitMapExpression(this); 10179 return visitor.visitMapExpression(this);
10177 } 10180 }
10178 MapExpression.prototype.visit$1 = MapExpression.prototype.visit; 10181 MapExpression.prototype.visit$1 = MapExpression.prototype.visit;
10179 // ********** Code for ConditionalExpression ************** 10182 // ********** Code for ConditionalExpression **************
10183 $inherits(ConditionalExpression, Expression);
10180 function ConditionalExpression(test, trueBranch, falseBranch, span) { 10184 function ConditionalExpression(test, trueBranch, falseBranch, span) {
10181 this.test = test; 10185 this.test = test;
10182 this.trueBranch = trueBranch; 10186 this.trueBranch = trueBranch;
10183 this.falseBranch = falseBranch; 10187 this.falseBranch = falseBranch;
10184 // Initializers done 10188 // Initializers done
10185 Expression.call(this, span); 10189 Expression.call(this, span);
10186 } 10190 }
10187 $inherits(ConditionalExpression, Expression);
10188 ConditionalExpression.prototype.visit = function(visitor) { 10191 ConditionalExpression.prototype.visit = function(visitor) {
10189 return visitor.visitConditionalExpression(this); 10192 return visitor.visitConditionalExpression(this);
10190 } 10193 }
10191 ConditionalExpression.prototype.visit$1 = ConditionalExpression.prototype.visit; 10194 ConditionalExpression.prototype.visit$1 = ConditionalExpression.prototype.visit;
10192 // ********** Code for IsExpression ************** 10195 // ********** Code for IsExpression **************
10196 $inherits(IsExpression, Expression);
10193 function IsExpression(isTrue, x, type, span) { 10197 function IsExpression(isTrue, x, type, span) {
10194 this.isTrue = isTrue; 10198 this.isTrue = isTrue;
10195 this.x = x; 10199 this.x = x;
10196 this.type = type; 10200 this.type = type;
10197 // Initializers done 10201 // Initializers done
10198 Expression.call(this, span); 10202 Expression.call(this, span);
10199 } 10203 }
10200 $inherits(IsExpression, Expression);
10201 IsExpression.prototype.get$x = function() { return this.x; }; 10204 IsExpression.prototype.get$x = function() { return this.x; };
10202 IsExpression.prototype.set$x = function(value) { return this.x = value; }; 10205 IsExpression.prototype.set$x = function(value) { return this.x = value; };
10203 IsExpression.prototype.get$type = function() { return this.type; }; 10206 IsExpression.prototype.get$type = function() { return this.type; };
10204 IsExpression.prototype.set$type = function(value) { return this.type = value; }; 10207 IsExpression.prototype.set$type = function(value) { return this.type = value; };
10205 IsExpression.prototype.visit = function(visitor) { 10208 IsExpression.prototype.visit = function(visitor) {
10206 return visitor.visitIsExpression(this); 10209 return visitor.visitIsExpression(this);
10207 } 10210 }
10208 IsExpression.prototype.visit$1 = IsExpression.prototype.visit; 10211 IsExpression.prototype.visit$1 = IsExpression.prototype.visit;
10209 // ********** Code for ParenExpression ************** 10212 // ********** Code for ParenExpression **************
10213 $inherits(ParenExpression, Expression);
10210 function ParenExpression(body, span) { 10214 function ParenExpression(body, span) {
10211 this.body = body; 10215 this.body = body;
10212 // Initializers done 10216 // Initializers done
10213 Expression.call(this, span); 10217 Expression.call(this, span);
10214 } 10218 }
10215 $inherits(ParenExpression, Expression);
10216 ParenExpression.prototype.get$body = function() { return this.body; }; 10219 ParenExpression.prototype.get$body = function() { return this.body; };
10217 ParenExpression.prototype.set$body = function(value) { return this.body = value; }; 10220 ParenExpression.prototype.set$body = function(value) { return this.body = value; };
10218 ParenExpression.prototype.visit = function(visitor) { 10221 ParenExpression.prototype.visit = function(visitor) {
10219 return visitor.visitParenExpression(this); 10222 return visitor.visitParenExpression(this);
10220 } 10223 }
10221 ParenExpression.prototype.visit$1 = ParenExpression.prototype.visit; 10224 ParenExpression.prototype.visit$1 = ParenExpression.prototype.visit;
10222 // ********** Code for AwaitExpression ************** 10225 // ********** Code for AwaitExpression **************
10226 $inherits(AwaitExpression, Expression);
10223 function AwaitExpression(body, span) { 10227 function AwaitExpression(body, span) {
10224 this.body = body; 10228 this.body = body;
10225 // Initializers done 10229 // Initializers done
10226 Expression.call(this, span); 10230 Expression.call(this, span);
10227 } 10231 }
10228 $inherits(AwaitExpression, Expression);
10229 AwaitExpression.prototype.get$body = function() { return this.body; }; 10232 AwaitExpression.prototype.get$body = function() { return this.body; };
10230 AwaitExpression.prototype.set$body = function(value) { return this.body = value; }; 10233 AwaitExpression.prototype.set$body = function(value) { return this.body = value; };
10231 AwaitExpression.prototype.visit = function(visitor) { 10234 AwaitExpression.prototype.visit = function(visitor) {
10232 return visitor.visitAwaitExpression(this); 10235 return visitor.visitAwaitExpression(this);
10233 } 10236 }
10234 AwaitExpression.prototype.visit$1 = AwaitExpression.prototype.visit; 10237 AwaitExpression.prototype.visit$1 = AwaitExpression.prototype.visit;
10235 // ********** Code for DotExpression ************** 10238 // ********** Code for DotExpression **************
10239 $inherits(DotExpression, Expression);
10236 function DotExpression(self, name, span) { 10240 function DotExpression(self, name, span) {
10237 this.self = self; 10241 this.self = self;
10238 this.name = name; 10242 this.name = name;
10239 // Initializers done 10243 // Initializers done
10240 Expression.call(this, span); 10244 Expression.call(this, span);
10241 } 10245 }
10242 $inherits(DotExpression, Expression);
10243 DotExpression.prototype.get$self = function() { return this.self; }; 10246 DotExpression.prototype.get$self = function() { return this.self; };
10244 DotExpression.prototype.set$self = function(value) { return this.self = value; } ; 10247 DotExpression.prototype.set$self = function(value) { return this.self = value; } ;
10245 DotExpression.prototype.get$name = function() { return this.name; }; 10248 DotExpression.prototype.get$name = function() { return this.name; };
10246 DotExpression.prototype.set$name = function(value) { return this.name = value; } ; 10249 DotExpression.prototype.set$name = function(value) { return this.name = value; } ;
10247 DotExpression.prototype.visit = function(visitor) { 10250 DotExpression.prototype.visit = function(visitor) {
10248 return visitor.visitDotExpression(this); 10251 return visitor.visitDotExpression(this);
10249 } 10252 }
10250 DotExpression.prototype.visit$1 = DotExpression.prototype.visit; 10253 DotExpression.prototype.visit$1 = DotExpression.prototype.visit;
10251 // ********** Code for VarExpression ************** 10254 // ********** Code for VarExpression **************
10255 $inherits(VarExpression, Expression);
10252 function VarExpression(name, span) { 10256 function VarExpression(name, span) {
10253 this.name = name; 10257 this.name = name;
10254 // Initializers done 10258 // Initializers done
10255 Expression.call(this, span); 10259 Expression.call(this, span);
10256 } 10260 }
10257 $inherits(VarExpression, Expression);
10258 VarExpression.prototype.get$name = function() { return this.name; }; 10261 VarExpression.prototype.get$name = function() { return this.name; };
10259 VarExpression.prototype.set$name = function(value) { return this.name = value; } ; 10262 VarExpression.prototype.set$name = function(value) { return this.name = value; } ;
10260 VarExpression.prototype.visit = function(visitor) { 10263 VarExpression.prototype.visit = function(visitor) {
10261 return visitor.visitVarExpression(this); 10264 return visitor.visitVarExpression(this);
10262 } 10265 }
10263 VarExpression.prototype.visit$1 = VarExpression.prototype.visit; 10266 VarExpression.prototype.visit$1 = VarExpression.prototype.visit;
10264 // ********** Code for ThisExpression ************** 10267 // ********** Code for ThisExpression **************
10268 $inherits(ThisExpression, Expression);
10265 function ThisExpression(span) { 10269 function ThisExpression(span) {
10266 // Initializers done 10270 // Initializers done
10267 Expression.call(this, span); 10271 Expression.call(this, span);
10268 } 10272 }
10269 $inherits(ThisExpression, Expression);
10270 ThisExpression.prototype.visit = function(visitor) { 10273 ThisExpression.prototype.visit = function(visitor) {
10271 return visitor.visitThisExpression(this); 10274 return visitor.visitThisExpression(this);
10272 } 10275 }
10273 ThisExpression.prototype.visit$1 = ThisExpression.prototype.visit; 10276 ThisExpression.prototype.visit$1 = ThisExpression.prototype.visit;
10274 // ********** Code for SuperExpression ************** 10277 // ********** Code for SuperExpression **************
10278 $inherits(SuperExpression, Expression);
10275 function SuperExpression(span) { 10279 function SuperExpression(span) {
10276 // Initializers done 10280 // Initializers done
10277 Expression.call(this, span); 10281 Expression.call(this, span);
10278 } 10282 }
10279 $inherits(SuperExpression, Expression);
10280 SuperExpression.prototype.visit = function(visitor) { 10283 SuperExpression.prototype.visit = function(visitor) {
10281 return visitor.visitSuperExpression(this); 10284 return visitor.visitSuperExpression(this);
10282 } 10285 }
10283 SuperExpression.prototype.visit$1 = SuperExpression.prototype.visit; 10286 SuperExpression.prototype.visit$1 = SuperExpression.prototype.visit;
10284 // ********** Code for NullExpression ************** 10287 // ********** Code for NullExpression **************
10288 $inherits(NullExpression, Expression);
10285 function NullExpression(span) { 10289 function NullExpression(span) {
10286 // Initializers done 10290 // Initializers done
10287 Expression.call(this, span); 10291 Expression.call(this, span);
10288 } 10292 }
10289 $inherits(NullExpression, Expression);
10290 NullExpression.prototype.visit = function(visitor) { 10293 NullExpression.prototype.visit = function(visitor) {
10291 return visitor.visitNullExpression(this); 10294 return visitor.visitNullExpression(this);
10292 } 10295 }
10293 NullExpression.prototype.visit$1 = NullExpression.prototype.visit; 10296 NullExpression.prototype.visit$1 = NullExpression.prototype.visit;
10294 // ********** Code for LiteralExpression ************** 10297 // ********** Code for LiteralExpression **************
10298 $inherits(LiteralExpression, Expression);
10295 function LiteralExpression(value, type, text, span) { 10299 function LiteralExpression(value, type, text, span) {
10296 this.value = value; 10300 this.value = value;
10297 this.type = type; 10301 this.type = type;
10298 this.text = text; 10302 this.text = text;
10299 // Initializers done 10303 // Initializers done
10300 Expression.call(this, span); 10304 Expression.call(this, span);
10301 } 10305 }
10302 $inherits(LiteralExpression, Expression);
10303 LiteralExpression.prototype.get$value = function() { return this.value; }; 10306 LiteralExpression.prototype.get$value = function() { return this.value; };
10304 LiteralExpression.prototype.set$value = function(value) { return this.value = va lue; }; 10307 LiteralExpression.prototype.set$value = function(value) { return this.value = va lue; };
10305 LiteralExpression.prototype.get$type = function() { return this.type; }; 10308 LiteralExpression.prototype.get$type = function() { return this.type; };
10306 LiteralExpression.prototype.set$type = function(value) { return this.type = valu e; }; 10309 LiteralExpression.prototype.set$type = function(value) { return this.type = valu e; };
10307 LiteralExpression.prototype.get$text = function() { return this.text; }; 10310 LiteralExpression.prototype.get$text = function() { return this.text; };
10308 LiteralExpression.prototype.set$text = function(value) { return this.text = valu e; }; 10311 LiteralExpression.prototype.set$text = function(value) { return this.text = valu e; };
10309 LiteralExpression.prototype.visit = function(visitor) { 10312 LiteralExpression.prototype.visit = function(visitor) {
10310 return visitor.visitLiteralExpression(this); 10313 return visitor.visitLiteralExpression(this);
10311 } 10314 }
10312 LiteralExpression.prototype.visit$1 = LiteralExpression.prototype.visit; 10315 LiteralExpression.prototype.visit$1 = LiteralExpression.prototype.visit;
10313 // ********** Code for NameTypeReference ************** 10316 // ********** Code for NameTypeReference **************
10317 $inherits(NameTypeReference, TypeReference);
10314 function NameTypeReference(isFinal, name, names, span) { 10318 function NameTypeReference(isFinal, name, names, span) {
10315 this.isFinal = isFinal; 10319 this.isFinal = isFinal;
10316 this.name = name; 10320 this.name = name;
10317 this.names = names; 10321 this.names = names;
10318 // Initializers done 10322 // Initializers done
10319 TypeReference.call(this, span); 10323 TypeReference.call(this, span);
10320 } 10324 }
10321 $inherits(NameTypeReference, TypeReference);
10322 NameTypeReference.prototype.get$isFinal = function() { return this.isFinal; }; 10325 NameTypeReference.prototype.get$isFinal = function() { return this.isFinal; };
10323 NameTypeReference.prototype.set$isFinal = function(value) { return this.isFinal = value; }; 10326 NameTypeReference.prototype.set$isFinal = function(value) { return this.isFinal = value; };
10324 NameTypeReference.prototype.get$name = function() { return this.name; }; 10327 NameTypeReference.prototype.get$name = function() { return this.name; };
10325 NameTypeReference.prototype.set$name = function(value) { return this.name = valu e; }; 10328 NameTypeReference.prototype.set$name = function(value) { return this.name = valu e; };
10326 NameTypeReference.prototype.get$names = function() { return this.names; }; 10329 NameTypeReference.prototype.get$names = function() { return this.names; };
10327 NameTypeReference.prototype.set$names = function(value) { return this.names = va lue; }; 10330 NameTypeReference.prototype.set$names = function(value) { return this.names = va lue; };
10328 NameTypeReference.prototype.visit = function(visitor) { 10331 NameTypeReference.prototype.visit = function(visitor) {
10329 return visitor.visitNameTypeReference(this); 10332 return visitor.visitNameTypeReference(this);
10330 } 10333 }
10331 NameTypeReference.prototype.visit$1 = NameTypeReference.prototype.visit; 10334 NameTypeReference.prototype.visit$1 = NameTypeReference.prototype.visit;
10332 // ********** Code for GenericTypeReference ************** 10335 // ********** Code for GenericTypeReference **************
10336 $inherits(GenericTypeReference, TypeReference);
10333 function GenericTypeReference(baseType, typeArguments, depth, span) { 10337 function GenericTypeReference(baseType, typeArguments, depth, span) {
10334 this.baseType = baseType; 10338 this.baseType = baseType;
10335 this.typeArguments = typeArguments; 10339 this.typeArguments = typeArguments;
10336 this.depth = depth; 10340 this.depth = depth;
10337 // Initializers done 10341 // Initializers done
10338 TypeReference.call(this, span); 10342 TypeReference.call(this, span);
10339 } 10343 }
10340 $inherits(GenericTypeReference, TypeReference);
10341 GenericTypeReference.prototype.get$baseType = function() { return this.baseType; }; 10344 GenericTypeReference.prototype.get$baseType = function() { return this.baseType; };
10342 GenericTypeReference.prototype.set$baseType = function(value) { return this.base Type = value; }; 10345 GenericTypeReference.prototype.set$baseType = function(value) { return this.base Type = value; };
10343 GenericTypeReference.prototype.get$depth = function() { return this.depth; }; 10346 GenericTypeReference.prototype.get$depth = function() { return this.depth; };
10344 GenericTypeReference.prototype.set$depth = function(value) { return this.depth = value; }; 10347 GenericTypeReference.prototype.set$depth = function(value) { return this.depth = value; };
10345 GenericTypeReference.prototype.visit = function(visitor) { 10348 GenericTypeReference.prototype.visit = function(visitor) {
10346 return visitor.visitGenericTypeReference(this); 10349 return visitor.visitGenericTypeReference(this);
10347 } 10350 }
10348 GenericTypeReference.prototype.visit$1 = GenericTypeReference.prototype.visit; 10351 GenericTypeReference.prototype.visit$1 = GenericTypeReference.prototype.visit;
10349 // ********** Code for FunctionTypeReference ************** 10352 // ********** Code for FunctionTypeReference **************
10353 $inherits(FunctionTypeReference, TypeReference);
10350 function FunctionTypeReference(isFinal, func, span) { 10354 function FunctionTypeReference(isFinal, func, span) {
10351 this.isFinal = isFinal; 10355 this.isFinal = isFinal;
10352 this.func = func; 10356 this.func = func;
10353 // Initializers done 10357 // Initializers done
10354 TypeReference.call(this, span); 10358 TypeReference.call(this, span);
10355 } 10359 }
10356 $inherits(FunctionTypeReference, TypeReference);
10357 FunctionTypeReference.prototype.get$isFinal = function() { return this.isFinal; }; 10360 FunctionTypeReference.prototype.get$isFinal = function() { return this.isFinal; };
10358 FunctionTypeReference.prototype.set$isFinal = function(value) { return this.isFi nal = value; }; 10361 FunctionTypeReference.prototype.set$isFinal = function(value) { return this.isFi nal = value; };
10359 FunctionTypeReference.prototype.get$func = function() { return this.func; }; 10362 FunctionTypeReference.prototype.get$func = function() { return this.func; };
10360 FunctionTypeReference.prototype.set$func = function(value) { return this.func = value; }; 10363 FunctionTypeReference.prototype.set$func = function(value) { return this.func = value; };
10361 FunctionTypeReference.prototype.visit = function(visitor) { 10364 FunctionTypeReference.prototype.visit = function(visitor) {
10362 return visitor.visitFunctionTypeReference(this); 10365 return visitor.visitFunctionTypeReference(this);
10363 } 10366 }
10364 FunctionTypeReference.prototype.visit$1 = FunctionTypeReference.prototype.visit; 10367 FunctionTypeReference.prototype.visit$1 = FunctionTypeReference.prototype.visit;
10365 // ********** Code for ArgumentNode ************** 10368 // ********** Code for ArgumentNode **************
10369 $inherits(ArgumentNode, Node);
10366 function ArgumentNode(label, value, span) { 10370 function ArgumentNode(label, value, span) {
10367 this.label = label; 10371 this.label = label;
10368 this.value = value; 10372 this.value = value;
10369 // Initializers done 10373 // Initializers done
10370 Node.call(this, span); 10374 Node.call(this, span);
10371 } 10375 }
10372 $inherits(ArgumentNode, Node);
10373 ArgumentNode.prototype.get$label = function() { return this.label; }; 10376 ArgumentNode.prototype.get$label = function() { return this.label; };
10374 ArgumentNode.prototype.set$label = function(value) { return this.label = value; }; 10377 ArgumentNode.prototype.set$label = function(value) { return this.label = value; };
10375 ArgumentNode.prototype.get$value = function() { return this.value; }; 10378 ArgumentNode.prototype.get$value = function() { return this.value; };
10376 ArgumentNode.prototype.set$value = function(value) { return this.value = value; }; 10379 ArgumentNode.prototype.set$value = function(value) { return this.value = value; };
10377 ArgumentNode.prototype.visit = function(visitor) { 10380 ArgumentNode.prototype.visit = function(visitor) {
10378 return visitor.visitArgumentNode(this); 10381 return visitor.visitArgumentNode(this);
10379 } 10382 }
10380 ArgumentNode.prototype.visit$1 = ArgumentNode.prototype.visit; 10383 ArgumentNode.prototype.visit$1 = ArgumentNode.prototype.visit;
10381 // ********** Code for FormalNode ************** 10384 // ********** Code for FormalNode **************
10385 $inherits(FormalNode, Node);
10382 function FormalNode(isThis, isRest, type, name, value, span) { 10386 function FormalNode(isThis, isRest, type, name, value, span) {
10383 this.isThis = isThis; 10387 this.isThis = isThis;
10384 this.isRest = isRest; 10388 this.isRest = isRest;
10385 this.type = type; 10389 this.type = type;
10386 this.name = name; 10390 this.name = name;
10387 this.value = value; 10391 this.value = value;
10388 // Initializers done 10392 // Initializers done
10389 Node.call(this, span); 10393 Node.call(this, span);
10390 } 10394 }
10391 $inherits(FormalNode, Node);
10392 FormalNode.prototype.get$type = function() { return this.type; }; 10395 FormalNode.prototype.get$type = function() { return this.type; };
10393 FormalNode.prototype.set$type = function(value) { return this.type = value; }; 10396 FormalNode.prototype.set$type = function(value) { return this.type = value; };
10394 FormalNode.prototype.get$name = function() { return this.name; }; 10397 FormalNode.prototype.get$name = function() { return this.name; };
10395 FormalNode.prototype.set$name = function(value) { return this.name = value; }; 10398 FormalNode.prototype.set$name = function(value) { return this.name = value; };
10396 FormalNode.prototype.get$value = function() { return this.value; }; 10399 FormalNode.prototype.get$value = function() { return this.value; };
10397 FormalNode.prototype.set$value = function(value) { return this.value = value; }; 10400 FormalNode.prototype.set$value = function(value) { return this.value = value; };
10398 FormalNode.prototype.visit = function(visitor) { 10401 FormalNode.prototype.visit = function(visitor) {
10399 return visitor.visitFormalNode(this); 10402 return visitor.visitFormalNode(this);
10400 } 10403 }
10401 FormalNode.prototype.visit$1 = FormalNode.prototype.visit; 10404 FormalNode.prototype.visit$1 = FormalNode.prototype.visit;
10402 // ********** Code for CatchNode ************** 10405 // ********** Code for CatchNode **************
10406 $inherits(CatchNode, Node);
10403 function CatchNode(exception, trace, body, span) { 10407 function CatchNode(exception, trace, body, span) {
10404 this.exception = exception; 10408 this.exception = exception;
10405 this.trace = trace; 10409 this.trace = trace;
10406 this.body = body; 10410 this.body = body;
10407 // Initializers done 10411 // Initializers done
10408 Node.call(this, span); 10412 Node.call(this, span);
10409 } 10413 }
10410 $inherits(CatchNode, Node);
10411 CatchNode.prototype.get$exception = function() { return this.exception; }; 10414 CatchNode.prototype.get$exception = function() { return this.exception; };
10412 CatchNode.prototype.set$exception = function(value) { return this.exception = va lue; }; 10415 CatchNode.prototype.set$exception = function(value) { return this.exception = va lue; };
10413 CatchNode.prototype.get$trace = function() { return this.trace; }; 10416 CatchNode.prototype.get$trace = function() { return this.trace; };
10414 CatchNode.prototype.set$trace = function(value) { return this.trace = value; }; 10417 CatchNode.prototype.set$trace = function(value) { return this.trace = value; };
10415 CatchNode.prototype.get$body = function() { return this.body; }; 10418 CatchNode.prototype.get$body = function() { return this.body; };
10416 CatchNode.prototype.set$body = function(value) { return this.body = value; }; 10419 CatchNode.prototype.set$body = function(value) { return this.body = value; };
10417 CatchNode.prototype.visit = function(visitor) { 10420 CatchNode.prototype.visit = function(visitor) {
10418 return visitor.visitCatchNode(this); 10421 return visitor.visitCatchNode(this);
10419 } 10422 }
10420 CatchNode.prototype.visit$1 = CatchNode.prototype.visit; 10423 CatchNode.prototype.visit$1 = CatchNode.prototype.visit;
10421 // ********** Code for CaseNode ************** 10424 // ********** Code for CaseNode **************
10425 $inherits(CaseNode, Node);
10422 function CaseNode(label, cases, statements, span) { 10426 function CaseNode(label, cases, statements, span) {
10423 this.label = label; 10427 this.label = label;
10424 this.cases = cases; 10428 this.cases = cases;
10425 this.statements = statements; 10429 this.statements = statements;
10426 // Initializers done 10430 // Initializers done
10427 Node.call(this, span); 10431 Node.call(this, span);
10428 } 10432 }
10429 $inherits(CaseNode, Node);
10430 CaseNode.prototype.get$label = function() { return this.label; }; 10433 CaseNode.prototype.get$label = function() { return this.label; };
10431 CaseNode.prototype.set$label = function(value) { return this.label = value; }; 10434 CaseNode.prototype.set$label = function(value) { return this.label = value; };
10432 CaseNode.prototype.get$cases = function() { return this.cases; }; 10435 CaseNode.prototype.get$cases = function() { return this.cases; };
10433 CaseNode.prototype.set$cases = function(value) { return this.cases = value; }; 10436 CaseNode.prototype.set$cases = function(value) { return this.cases = value; };
10434 CaseNode.prototype.get$statements = function() { return this.statements; }; 10437 CaseNode.prototype.get$statements = function() { return this.statements; };
10435 CaseNode.prototype.set$statements = function(value) { return this.statements = v alue; }; 10438 CaseNode.prototype.set$statements = function(value) { return this.statements = v alue; };
10436 CaseNode.prototype.visit = function(visitor) { 10439 CaseNode.prototype.visit = function(visitor) {
10437 return visitor.visitCaseNode(this); 10440 return visitor.visitCaseNode(this);
10438 } 10441 }
10439 CaseNode.prototype.visit$1 = CaseNode.prototype.visit; 10442 CaseNode.prototype.visit$1 = CaseNode.prototype.visit;
10440 // ********** Code for TypeParameter ************** 10443 // ********** Code for TypeParameter **************
10444 $inherits(TypeParameter, Node);
10441 function TypeParameter(name, extendsType, span) { 10445 function TypeParameter(name, extendsType, span) {
10442 this.name = name; 10446 this.name = name;
10443 this.extendsType = extendsType; 10447 this.extendsType = extendsType;
10444 // Initializers done 10448 // Initializers done
10445 Node.call(this, span); 10449 Node.call(this, span);
10446 } 10450 }
10447 $inherits(TypeParameter, Node);
10448 TypeParameter.prototype.get$name = function() { return this.name; }; 10451 TypeParameter.prototype.get$name = function() { return this.name; };
10449 TypeParameter.prototype.set$name = function(value) { return this.name = value; } ; 10452 TypeParameter.prototype.set$name = function(value) { return this.name = value; } ;
10450 TypeParameter.prototype.get$extendsType = function() { return this.extendsType; }; 10453 TypeParameter.prototype.get$extendsType = function() { return this.extendsType; };
10451 TypeParameter.prototype.set$extendsType = function(value) { return this.extendsT ype = value; }; 10454 TypeParameter.prototype.set$extendsType = function(value) { return this.extendsT ype = value; };
10452 TypeParameter.prototype.visit = function(visitor) { 10455 TypeParameter.prototype.visit = function(visitor) {
10453 return visitor.visitTypeParameter(this); 10456 return visitor.visitTypeParameter(this);
10454 } 10457 }
10455 TypeParameter.prototype.visit$1 = TypeParameter.prototype.visit; 10458 TypeParameter.prototype.visit$1 = TypeParameter.prototype.visit;
10456 // ********** Code for Identifier ************** 10459 // ********** Code for Identifier **************
10460 $inherits(Identifier, Node);
10457 function Identifier(name, span) { 10461 function Identifier(name, span) {
10458 this.name = name; 10462 this.name = name;
10459 // Initializers done 10463 // Initializers done
10460 Node.call(this, span); 10464 Node.call(this, span);
10461 } 10465 }
10462 $inherits(Identifier, Node);
10463 Identifier.prototype.get$name = function() { return this.name; }; 10466 Identifier.prototype.get$name = function() { return this.name; };
10464 Identifier.prototype.set$name = function(value) { return this.name = value; }; 10467 Identifier.prototype.set$name = function(value) { return this.name = value; };
10465 Identifier.prototype.visit = function(visitor) { 10468 Identifier.prototype.visit = function(visitor) {
10466 return visitor.visitIdentifier(this); 10469 return visitor.visitIdentifier(this);
10467 } 10470 }
10468 Identifier.prototype.visit$1 = Identifier.prototype.visit; 10471 Identifier.prototype.visit$1 = Identifier.prototype.visit;
10469 // ********** Code for DeclaredIdentifier ************** 10472 // ********** Code for DeclaredIdentifier **************
10473 $inherits(DeclaredIdentifier, Expression);
10470 function DeclaredIdentifier(type, name, span) { 10474 function DeclaredIdentifier(type, name, span) {
10471 this.type = type; 10475 this.type = type;
10472 this.name = name; 10476 this.name = name;
10473 // Initializers done 10477 // Initializers done
10474 Expression.call(this, span); 10478 Expression.call(this, span);
10475 } 10479 }
10476 $inherits(DeclaredIdentifier, Expression);
10477 DeclaredIdentifier.prototype.get$type = function() { return this.type; }; 10480 DeclaredIdentifier.prototype.get$type = function() { return this.type; };
10478 DeclaredIdentifier.prototype.set$type = function(value) { return this.type = val ue; }; 10481 DeclaredIdentifier.prototype.set$type = function(value) { return this.type = val ue; };
10479 DeclaredIdentifier.prototype.get$name = function() { return this.name; }; 10482 DeclaredIdentifier.prototype.get$name = function() { return this.name; };
10480 DeclaredIdentifier.prototype.set$name = function(value) { return this.name = val ue; }; 10483 DeclaredIdentifier.prototype.set$name = function(value) { return this.name = val ue; };
10481 DeclaredIdentifier.prototype.visit = function(visitor) { 10484 DeclaredIdentifier.prototype.visit = function(visitor) {
10482 return visitor.visitDeclaredIdentifier(this); 10485 return visitor.visitDeclaredIdentifier(this);
10483 } 10486 }
10484 DeclaredIdentifier.prototype.visit$1 = DeclaredIdentifier.prototype.visit; 10487 DeclaredIdentifier.prototype.visit$1 = DeclaredIdentifier.prototype.visit;
10485 // ********** Code for Type ************** 10488 // ********** Code for Type **************
10489 $inherits(Type, Element);
10486 function Type(name) { 10490 function Type(name) {
10487 this.isTested = false 10491 this.isTested = false
10488 this.isChecked = false 10492 this.isChecked = false
10493 this.isWritten = false
10489 this._resolvedMembers = new HashMapImplementation(); 10494 this._resolvedMembers = new HashMapImplementation();
10490 this.varStubs = new HashMapImplementation(); 10495 this.varStubs = new HashMapImplementation();
10491 // Initializers done 10496 // Initializers done
10492 Element.call(this, name, null); 10497 Element.call(this, name, null);
10493 } 10498 }
10494 $inherits(Type, Element);
10495 Type.prototype.get$isTested = function() { return this.isTested; }; 10499 Type.prototype.get$isTested = function() { return this.isTested; };
10496 Type.prototype.set$isTested = function(value) { return this.isTested = value; }; 10500 Type.prototype.set$isTested = function(value) { return this.isTested = value; };
10497 Type.prototype.get$typeCheckCode = function() { return this.typeCheckCode; }; 10501 Type.prototype.get$typeCheckCode = function() { return this.typeCheckCode; };
10498 Type.prototype.set$typeCheckCode = function(value) { return this.typeCheckCode = value; }; 10502 Type.prototype.set$typeCheckCode = function(value) { return this.typeCheckCode = value; };
10499 Type.prototype.get$varStubs = function() { return this.varStubs; }; 10503 Type.prototype.get$varStubs = function() { return this.varStubs; };
10500 Type.prototype.set$varStubs = function(value) { return this.varStubs = value; }; 10504 Type.prototype.set$varStubs = function(value) { return this.varStubs = value; };
10501 Type.prototype.markUsed = function() { 10505 Type.prototype.markUsed = function() {
10502 10506
10503 } 10507 }
10504 Type.prototype.get$typeMember = function() { 10508 Type.prototype.get$typeMember = function() {
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
10817 Type.prototype.ensureSubtypeOf$3 = Type.prototype.ensureSubtypeOf; 10821 Type.prototype.ensureSubtypeOf$3 = Type.prototype.ensureSubtypeOf;
10818 Type.prototype.getConstructor$1 = Type.prototype.getConstructor; 10822 Type.prototype.getConstructor$1 = Type.prototype.getConstructor;
10819 Type.prototype.getFactory$2 = Type.prototype.getFactory; 10823 Type.prototype.getFactory$2 = Type.prototype.getFactory;
10820 Type.prototype.getMember$1 = Type.prototype.getMember; 10824 Type.prototype.getMember$1 = Type.prototype.getMember;
10821 Type.prototype.getOrMakeConcreteType$1 = Type.prototype.getOrMakeConcreteType; 10825 Type.prototype.getOrMakeConcreteType$1 = Type.prototype.getOrMakeConcreteType;
10822 Type.prototype.isAssignable$1 = Type.prototype.isAssignable; 10826 Type.prototype.isAssignable$1 = Type.prototype.isAssignable;
10823 Type.prototype.isSubtypeOf$1 = Type.prototype.isSubtypeOf; 10827 Type.prototype.isSubtypeOf$1 = Type.prototype.isSubtypeOf;
10824 Type.prototype.markUsed$0 = Type.prototype.markUsed; 10828 Type.prototype.markUsed$0 = Type.prototype.markUsed;
10825 Type.prototype.resolveTypeParams$1 = Type.prototype.resolveTypeParams; 10829 Type.prototype.resolveTypeParams$1 = Type.prototype.resolveTypeParams;
10826 // ********** Code for ParameterType ************** 10830 // ********** Code for ParameterType **************
10831 $inherits(ParameterType, Type);
10827 function ParameterType(name, typeParameter) { 10832 function ParameterType(name, typeParameter) {
10828 this.typeParameter = typeParameter; 10833 this.typeParameter = typeParameter;
10829 // Initializers done 10834 // Initializers done
10830 Type.call(this, name); 10835 Type.call(this, name);
10831 } 10836 }
10832 $inherits(ParameterType, Type);
10833 ParameterType.prototype.get$typeParameter = function() { return this.typeParamet er; }; 10837 ParameterType.prototype.get$typeParameter = function() { return this.typeParamet er; };
10834 ParameterType.prototype.set$typeParameter = function(value) { return this.typePa rameter = value; }; 10838 ParameterType.prototype.set$typeParameter = function(value) { return this.typePa rameter = value; };
10835 ParameterType.prototype.get$extendsType = function() { return this.extendsType; }; 10839 ParameterType.prototype.get$extendsType = function() { return this.extendsType; };
10836 ParameterType.prototype.set$extendsType = function(value) { return this.extendsT ype = value; }; 10840 ParameterType.prototype.set$extendsType = function(value) { return this.extendsT ype = value; };
10837 ParameterType.prototype.get$isClass = function() { 10841 ParameterType.prototype.get$isClass = function() {
10838 return false; 10842 return false;
10839 } 10843 }
10840 ParameterType.prototype.get$library = function() { 10844 ParameterType.prototype.get$library = function() {
10841 return null; 10845 return null;
10842 } 10846 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
10878 this.extendsType = $globals.world.objectType; 10882 this.extendsType = $globals.world.objectType;
10879 } 10883 }
10880 } 10884 }
10881 ParameterType.prototype.addDirectSubtype$1 = ParameterType.prototype.addDirectSu btype; 10885 ParameterType.prototype.addDirectSubtype$1 = ParameterType.prototype.addDirectSu btype;
10882 ParameterType.prototype.getConstructor$1 = ParameterType.prototype.getConstructo r; 10886 ParameterType.prototype.getConstructor$1 = ParameterType.prototype.getConstructo r;
10883 ParameterType.prototype.getOrMakeConcreteType$1 = ParameterType.prototype.getOrM akeConcreteType; 10887 ParameterType.prototype.getOrMakeConcreteType$1 = ParameterType.prototype.getOrM akeConcreteType;
10884 ParameterType.prototype.isSubtypeOf$1 = ParameterType.prototype.isSubtypeOf; 10888 ParameterType.prototype.isSubtypeOf$1 = ParameterType.prototype.isSubtypeOf;
10885 ParameterType.prototype.resolve$0 = ParameterType.prototype.resolve; 10889 ParameterType.prototype.resolve$0 = ParameterType.prototype.resolve;
10886 ParameterType.prototype.resolveTypeParams$1 = ParameterType.prototype.resolveTyp eParams; 10890 ParameterType.prototype.resolveTypeParams$1 = ParameterType.prototype.resolveTyp eParams;
10887 // ********** Code for NonNullableType ************** 10891 // ********** Code for NonNullableType **************
10892 $inherits(NonNullableType, Type);
10888 function NonNullableType(type) { 10893 function NonNullableType(type) {
10889 this.type = type; 10894 this.type = type;
10890 // Initializers done 10895 // Initializers done
10891 Type.call(this, type.name); 10896 Type.call(this, type.name);
10892 } 10897 }
10893 $inherits(NonNullableType, Type);
10894 NonNullableType.prototype.get$type = function() { return this.type; }; 10898 NonNullableType.prototype.get$type = function() { return this.type; };
10895 NonNullableType.prototype.get$isNullable = function() { 10899 NonNullableType.prototype.get$isNullable = function() {
10896 return false; 10900 return false;
10897 } 10901 }
10898 NonNullableType.prototype.get$isBool = function() { 10902 NonNullableType.prototype.get$isBool = function() {
10899 return this.type.get$isBool(); 10903 return this.type.get$isBool();
10900 } 10904 }
10901 NonNullableType.prototype.get$isUsed = function() { 10905 NonNullableType.prototype.get$isUsed = function() {
10902 return false; 10906 return false;
10903 } 10907 }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
10990 } 10994 }
10991 NonNullableType.prototype.addDirectSubtype$1 = NonNullableType.prototype.addDire ctSubtype; 10995 NonNullableType.prototype.addDirectSubtype$1 = NonNullableType.prototype.addDire ctSubtype;
10992 NonNullableType.prototype.getConstructor$1 = NonNullableType.prototype.getConstr uctor; 10996 NonNullableType.prototype.getConstructor$1 = NonNullableType.prototype.getConstr uctor;
10993 NonNullableType.prototype.getFactory$2 = NonNullableType.prototype.getFactory; 10997 NonNullableType.prototype.getFactory$2 = NonNullableType.prototype.getFactory;
10994 NonNullableType.prototype.getMember$1 = NonNullableType.prototype.getMember; 10998 NonNullableType.prototype.getMember$1 = NonNullableType.prototype.getMember;
10995 NonNullableType.prototype.getOrMakeConcreteType$1 = NonNullableType.prototype.ge tOrMakeConcreteType; 10999 NonNullableType.prototype.getOrMakeConcreteType$1 = NonNullableType.prototype.ge tOrMakeConcreteType;
10996 NonNullableType.prototype.isSubtypeOf$1 = NonNullableType.prototype.isSubtypeOf; 11000 NonNullableType.prototype.isSubtypeOf$1 = NonNullableType.prototype.isSubtypeOf;
10997 NonNullableType.prototype.markUsed$0 = NonNullableType.prototype.markUsed; 11001 NonNullableType.prototype.markUsed$0 = NonNullableType.prototype.markUsed;
10998 NonNullableType.prototype.resolveTypeParams$1 = NonNullableType.prototype.resolv eTypeParams; 11002 NonNullableType.prototype.resolveTypeParams$1 = NonNullableType.prototype.resolv eTypeParams;
10999 // ********** Code for ConcreteType ************** 11003 // ********** Code for ConcreteType **************
11004 $inherits(ConcreteType, Type);
11000 function ConcreteType(name, genericType, typeArguments, typeArgsInOrder) { 11005 function ConcreteType(name, genericType, typeArguments, typeArgsInOrder) {
11001 this.isUsed = false 11006 this.isUsed = false
11002 this.genericType = genericType; 11007 this.genericType = genericType;
11003 this.typeArguments = typeArguments; 11008 this.typeArguments = typeArguments;
11004 this.typeArgsInOrder = typeArgsInOrder; 11009 this.typeArgsInOrder = typeArgsInOrder;
11005 this.constructors = new HashMapImplementation(); 11010 this.constructors = new HashMapImplementation();
11006 this.members = new HashMapImplementation(); 11011 this.members = new HashMapImplementation();
11007 this.factories = new FactoryMap(); 11012 this.factories = new FactoryMap();
11008 // Initializers done 11013 // Initializers done
11009 Type.call(this, name); 11014 Type.call(this, name);
11010 } 11015 }
11011 $inherits(ConcreteType, Type);
11012 ConcreteType.prototype.get$genericType = function() { return this.genericType; } ; 11016 ConcreteType.prototype.get$genericType = function() { return this.genericType; } ;
11013 ConcreteType.prototype.get$_parent = function() { return this._parent; }; 11017 ConcreteType.prototype.get$_parent = function() { return this._parent; };
11014 ConcreteType.prototype.set$_parent = function(value) { return this._parent = val ue; }; 11018 ConcreteType.prototype.set$_parent = function(value) { return this._parent = val ue; };
11015 ConcreteType.prototype.get$typeArgsInOrder = function() { return this.typeArgsIn Order; }; 11019 ConcreteType.prototype.get$typeArgsInOrder = function() { return this.typeArgsIn Order; };
11016 ConcreteType.prototype.set$typeArgsInOrder = function(value) { return this.typeA rgsInOrder = value; }; 11020 ConcreteType.prototype.set$typeArgsInOrder = function(value) { return this.typeA rgsInOrder = value; };
11017 ConcreteType.prototype.get$isList = function() { 11021 ConcreteType.prototype.get$isList = function() {
11018 return this.genericType.get$isList(); 11022 return this.genericType.get$isList();
11019 } 11023 }
11020 ConcreteType.prototype.get$isClass = function() { 11024 ConcreteType.prototype.get$isClass = function() {
11021 return this.genericType.isClass; 11025 return this.genericType.isClass;
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
11157 this.genericType.addDirectSubtype(type); 11161 this.genericType.addDirectSubtype(type);
11158 } 11162 }
11159 ConcreteType.prototype.addDirectSubtype$1 = ConcreteType.prototype.addDirectSubt ype; 11163 ConcreteType.prototype.addDirectSubtype$1 = ConcreteType.prototype.addDirectSubt ype;
11160 ConcreteType.prototype.getConstructor$1 = ConcreteType.prototype.getConstructor; 11164 ConcreteType.prototype.getConstructor$1 = ConcreteType.prototype.getConstructor;
11161 ConcreteType.prototype.getFactory$2 = ConcreteType.prototype.getFactory; 11165 ConcreteType.prototype.getFactory$2 = ConcreteType.prototype.getFactory;
11162 ConcreteType.prototype.getMember$1 = ConcreteType.prototype.getMember; 11166 ConcreteType.prototype.getMember$1 = ConcreteType.prototype.getMember;
11163 ConcreteType.prototype.getOrMakeConcreteType$1 = ConcreteType.prototype.getOrMak eConcreteType; 11167 ConcreteType.prototype.getOrMakeConcreteType$1 = ConcreteType.prototype.getOrMak eConcreteType;
11164 ConcreteType.prototype.markUsed$0 = ConcreteType.prototype.markUsed; 11168 ConcreteType.prototype.markUsed$0 = ConcreteType.prototype.markUsed;
11165 ConcreteType.prototype.resolveTypeParams$1 = ConcreteType.prototype.resolveTypeP arams; 11169 ConcreteType.prototype.resolveTypeParams$1 = ConcreteType.prototype.resolveTypeP arams;
11166 // ********** Code for DefinedType ************** 11170 // ********** Code for DefinedType **************
11171 $inherits(DefinedType, Type);
11167 function DefinedType(name, library, definition, isClass) { 11172 function DefinedType(name, library, definition, isClass) {
11168 this.isUsed = false 11173 this.isUsed = false
11169 this.isNative = false 11174 this.isNative = false
11170 this.library = library; 11175 this.library = library;
11171 this.isClass = isClass; 11176 this.isClass = isClass;
11172 this.directSubtypes = new HashSetImplementation(); 11177 this.directSubtypes = new HashSetImplementation();
11173 this.constructors = new HashMapImplementation(); 11178 this.constructors = new HashMapImplementation();
11174 this.members = new HashMapImplementation(); 11179 this.members = new HashMapImplementation();
11175 this.factories = new FactoryMap(); 11180 this.factories = new FactoryMap();
11176 // Initializers done 11181 // Initializers done
11177 Type.call(this, name); 11182 Type.call(this, name);
11178 this.setDefinition(definition); 11183 this.setDefinition(definition);
11179 } 11184 }
11180 $inherits(DefinedType, Type);
11181 DefinedType.prototype.get$definition = function() { return this.definition; }; 11185 DefinedType.prototype.get$definition = function() { return this.definition; };
11182 DefinedType.prototype.set$definition = function(value) { return this.definition = value; }; 11186 DefinedType.prototype.set$definition = function(value) { return this.definition = value; };
11183 DefinedType.prototype.get$library = function() { return this.library; }; 11187 DefinedType.prototype.get$library = function() { return this.library; };
11184 DefinedType.prototype.get$isClass = function() { return this.isClass; }; 11188 DefinedType.prototype.get$isClass = function() { return this.isClass; };
11185 DefinedType.prototype.get$_parent = function() { return this._parent; }; 11189 DefinedType.prototype.get$_parent = function() { return this._parent; };
11186 DefinedType.prototype.set$_parent = function(value) { return this._parent = valu e; }; 11190 DefinedType.prototype.set$_parent = function(value) { return this._parent = valu e; };
11187 DefinedType.prototype.get$parent = function() { 11191 DefinedType.prototype.get$parent = function() {
11188 return this._parent; 11192 return this._parent;
11189 } 11193 }
11190 DefinedType.prototype.set$parent = function(p) { 11194 DefinedType.prototype.set$parent = function(p) {
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
11674 }; 11678 };
11675 FixedCollection.prototype.forEach$1 = function($0) { 11679 FixedCollection.prototype.forEach$1 = function($0) {
11676 return this.forEach(to$call$1($0)); 11680 return this.forEach(to$call$1($0));
11677 }; 11681 };
11678 FixedCollection.prototype.isEmpty$0 = FixedCollection.prototype.isEmpty; 11682 FixedCollection.prototype.isEmpty$0 = FixedCollection.prototype.isEmpty;
11679 FixedCollection.prototype.iterator$0 = FixedCollection.prototype.iterator; 11683 FixedCollection.prototype.iterator$0 = FixedCollection.prototype.iterator;
11680 FixedCollection.prototype.some$1 = function($0) { 11684 FixedCollection.prototype.some$1 = function($0) {
11681 return this.some(to$call$1($0)); 11685 return this.some(to$call$1($0));
11682 }; 11686 };
11683 // ********** Code for FixedCollection_Type ************** 11687 // ********** Code for FixedCollection_Type **************
11688 $inherits(FixedCollection_Type, FixedCollection);
11684 function FixedCollection_Type(value, length) { 11689 function FixedCollection_Type(value, length) {
11685 this.value = value; 11690 this.value = value;
11686 this.length = length; 11691 this.length = length;
11687 // Initializers done 11692 // Initializers done
11688 } 11693 }
11689 $inherits(FixedCollection_Type, FixedCollection);
11690 // ********** Code for FixedIterator ************** 11694 // ********** Code for FixedIterator **************
11691 function FixedIterator(value, length) { 11695 function FixedIterator(value, length) {
11692 this._index = 0 11696 this._index = 0
11693 this.value = value; 11697 this.value = value;
11694 this.length = length; 11698 this.length = length;
11695 // Initializers done 11699 // Initializers done
11696 } 11700 }
11697 FixedIterator.prototype.get$value = function() { return this.value; }; 11701 FixedIterator.prototype.get$value = function() { return this.value; };
11698 FixedIterator.prototype.hasNext = function() { 11702 FixedIterator.prototype.hasNext = function() {
11699 return this._index < this.length; 11703 return this._index < this.length;
11700 } 11704 }
11701 FixedIterator.prototype.next = function() { 11705 FixedIterator.prototype.next = function() {
11702 this._index++; 11706 this._index++;
11703 return this.value; 11707 return this.value;
11704 } 11708 }
11705 FixedIterator.prototype.hasNext$0 = FixedIterator.prototype.hasNext; 11709 FixedIterator.prototype.hasNext$0 = FixedIterator.prototype.hasNext;
11706 FixedIterator.prototype.next$0 = FixedIterator.prototype.next; 11710 FixedIterator.prototype.next$0 = FixedIterator.prototype.next;
11707 // ********** Code for FixedIterator_E ************** 11711 // ********** Code for FixedIterator_E **************
11712 $inherits(FixedIterator_E, FixedIterator);
11708 function FixedIterator_E(value, length) { 11713 function FixedIterator_E(value, length) {
11709 this._index = 0 11714 this._index = 0
11710 this.value = value; 11715 this.value = value;
11711 this.length = length; 11716 this.length = length;
11712 // Initializers done 11717 // Initializers done
11713 } 11718 }
11714 $inherits(FixedIterator_E, FixedIterator);
11715 // ********** Code for Value ************** 11719 // ********** Code for Value **************
11716 function Value(_type, code, span, needsTemp) { 11720 function Value(_type, code, span, needsTemp) {
11717 this.isSuper = false 11721 this.isSuper = false
11718 this.isType = false 11722 this.isType = false
11719 this.isInitializerTarget = false 11723 this.isInitializerTarget = false
11720 this.isFinal = false 11724 this.isFinal = false
11721 this._type = _type; 11725 this._type = _type;
11722 this.code = code; 11726 this.code = code;
11723 this.span = span; 11727 this.span = span;
11724 this.needsTemp = needsTemp; 11728 this.needsTemp = needsTemp;
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
12075 Value.prototype.invoke$4 = function($0, $1, $2, $3) { 12079 Value.prototype.invoke$4 = function($0, $1, $2, $3) {
12076 return this.invoke($0, $1, $2, $3, false); 12080 return this.invoke($0, $1, $2, $3, false);
12077 }; 12081 };
12078 Value.prototype.invoke$4$isDynamic = Value.prototype.invoke; 12082 Value.prototype.invoke$4$isDynamic = Value.prototype.invoke;
12079 Value.prototype.invoke$5 = Value.prototype.invoke; 12083 Value.prototype.invoke$5 = Value.prototype.invoke;
12080 Value.prototype.needsConversion$1 = Value.prototype.needsConversion; 12084 Value.prototype.needsConversion$1 = Value.prototype.needsConversion;
12081 Value.prototype.set_$4 = function($0, $1, $2, $3) { 12085 Value.prototype.set_$4 = function($0, $1, $2, $3) {
12082 return this.set_($0, $1, $2, $3, false); 12086 return this.set_($0, $1, $2, $3, false);
12083 }; 12087 };
12084 // ********** Code for EvaluatedValue ************** 12088 // ********** Code for EvaluatedValue **************
12089 $inherits(EvaluatedValue, Value);
12085 function EvaluatedValue() {} 12090 function EvaluatedValue() {}
12086 EvaluatedValue._internal$ctor = function(type, actualValue, canonicalCode, span, code) { 12091 EvaluatedValue._internal$ctor = function(type, actualValue, canonicalCode, span, code) {
12087 this.actualValue = actualValue; 12092 this.actualValue = actualValue;
12088 this.canonicalCode = canonicalCode; 12093 this.canonicalCode = canonicalCode;
12089 // Initializers done 12094 // Initializers done
12090 Value.call(this, type, code, span, false); 12095 Value.call(this, type, code, span, false);
12091 } 12096 }
12092 EvaluatedValue._internal$ctor.prototype = EvaluatedValue.prototype; 12097 EvaluatedValue._internal$ctor.prototype = EvaluatedValue.prototype;
12093 $inherits(EvaluatedValue, Value);
12094 EvaluatedValue.EvaluatedValue$factory = function(type, actualValue, canonicalCod e, span) { 12098 EvaluatedValue.EvaluatedValue$factory = function(type, actualValue, canonicalCod e, span) {
12095 return new EvaluatedValue._internal$ctor(type, actualValue, canonicalCode, spa n, EvaluatedValue.codeWithComments(canonicalCode, span)); 12099 return new EvaluatedValue._internal$ctor(type, actualValue, canonicalCode, spa n, EvaluatedValue.codeWithComments(canonicalCode, span));
12096 } 12100 }
12097 EvaluatedValue.prototype.get$actualValue = function() { return this.actualValue; }; 12101 EvaluatedValue.prototype.get$actualValue = function() { return this.actualValue; };
12098 EvaluatedValue.prototype.set$actualValue = function(value) { return this.actualV alue = value; }; 12102 EvaluatedValue.prototype.set$actualValue = function(value) { return this.actualV alue = value; };
12099 EvaluatedValue.prototype.get$isConst = function() { 12103 EvaluatedValue.prototype.get$isConst = function() {
12100 return true; 12104 return true;
12101 } 12105 }
12102 EvaluatedValue.prototype.get$canonicalCode = function() { return this.canonicalC ode; }; 12106 EvaluatedValue.prototype.get$canonicalCode = function() { return this.canonicalC ode; };
12103 EvaluatedValue.prototype.set$canonicalCode = function(value) { return this.canon icalCode = value; }; 12107 EvaluatedValue.prototype.set$canonicalCode = function(value) { return this.canon icalCode = value; };
12104 EvaluatedValue.codeWithComments = function(canonicalCode, span) { 12108 EvaluatedValue.codeWithComments = function(canonicalCode, span) {
12105 return (span != null && span.get$text() != canonicalCode) ? ('' + canonicalCod e + '/*' + _escapeForComment(span.get$text()) + '*/') : canonicalCode; 12109 return (span != null && span.get$text() != canonicalCode) ? ('' + canonicalCod e + '/*' + _escapeForComment(span.get$text()) + '*/') : canonicalCode;
12106 } 12110 }
12107 // ********** Code for ConstListValue ************** 12111 // ********** Code for ConstListValue **************
12112 $inherits(ConstListValue, EvaluatedValue);
12108 function ConstListValue() {} 12113 function ConstListValue() {}
12109 ConstListValue._internal$ctor = function(type, values, actualValue, canonicalCod e, span, code) { 12114 ConstListValue._internal$ctor = function(type, values, actualValue, canonicalCod e, span, code) {
12110 this.values = values; 12115 this.values = values;
12111 // Initializers done 12116 // Initializers done
12112 EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, spa n, code); 12117 EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, spa n, code);
12113 } 12118 }
12114 ConstListValue._internal$ctor.prototype = ConstListValue.prototype; 12119 ConstListValue._internal$ctor.prototype = ConstListValue.prototype;
12115 $inherits(ConstListValue, EvaluatedValue);
12116 ConstListValue.ConstListValue$factory = function(type, values, actualValue, cano nicalCode, span) { 12120 ConstListValue.ConstListValue$factory = function(type, values, actualValue, cano nicalCode, span) {
12117 return new ConstListValue._internal$ctor(type, values, actualValue, canonicalC ode, span, EvaluatedValue.codeWithComments(canonicalCode, span)); 12121 return new ConstListValue._internal$ctor(type, values, actualValue, canonicalC ode, span, EvaluatedValue.codeWithComments(canonicalCode, span));
12118 } 12122 }
12119 ConstListValue.prototype.get$values = function() { return this.values; }; 12123 ConstListValue.prototype.get$values = function() { return this.values; };
12120 ConstListValue.prototype.set$values = function(value) { return this.values = val ue; }; 12124 ConstListValue.prototype.set$values = function(value) { return this.values = val ue; };
12121 // ********** Code for ConstMapValue ************** 12125 // ********** Code for ConstMapValue **************
12126 $inherits(ConstMapValue, EvaluatedValue);
12122 function ConstMapValue() {} 12127 function ConstMapValue() {}
12123 ConstMapValue._internal$ctor = function(type, values, actualValue, canonicalCode , span, code) { 12128 ConstMapValue._internal$ctor = function(type, values, actualValue, canonicalCode , span, code) {
12124 this.values = values; 12129 this.values = values;
12125 // Initializers done 12130 // Initializers done
12126 EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, spa n, code); 12131 EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, spa n, code);
12127 } 12132 }
12128 ConstMapValue._internal$ctor.prototype = ConstMapValue.prototype; 12133 ConstMapValue._internal$ctor.prototype = ConstMapValue.prototype;
12129 $inherits(ConstMapValue, EvaluatedValue);
12130 ConstMapValue.ConstMapValue$factory = function(type, keyValuePairs, actualValue, canonicalCode, span) { 12134 ConstMapValue.ConstMapValue$factory = function(type, keyValuePairs, actualValue, canonicalCode, span) {
12131 var values = new HashMapImplementation(); 12135 var values = new HashMapImplementation();
12132 for (var i = 0; 12136 for (var i = 0;
12133 i < keyValuePairs.length; i += 2) { 12137 i < keyValuePairs.length; i += 2) {
12134 values.$setindex(keyValuePairs.$index(i).get$actualValue(), keyValuePairs.$i ndex(i + 1)); 12138 values.$setindex(keyValuePairs.$index(i).get$actualValue(), keyValuePairs.$i ndex(i + 1));
12135 } 12139 }
12136 return new ConstMapValue._internal$ctor(type, values, actualValue, canonicalCo de, span, EvaluatedValue.codeWithComments(canonicalCode, span)); 12140 return new ConstMapValue._internal$ctor(type, values, actualValue, canonicalCo de, span, EvaluatedValue.codeWithComments(canonicalCode, span));
12137 } 12141 }
12138 ConstMapValue.prototype.get$values = function() { return this.values; }; 12142 ConstMapValue.prototype.get$values = function() { return this.values; };
12139 ConstMapValue.prototype.set$values = function(value) { return this.values = valu e; }; 12143 ConstMapValue.prototype.set$values = function(value) { return this.values = valu e; };
12140 // ********** Code for ConstObjectValue ************** 12144 // ********** Code for ConstObjectValue **************
12145 $inherits(ConstObjectValue, EvaluatedValue);
12141 function ConstObjectValue() {} 12146 function ConstObjectValue() {}
12142 ConstObjectValue._internal$ctor = function(type, fields, actualValue, canonicalC ode, span, code) { 12147 ConstObjectValue._internal$ctor = function(type, fields, actualValue, canonicalC ode, span, code) {
12143 this.fields = fields; 12148 this.fields = fields;
12144 // Initializers done 12149 // Initializers done
12145 EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, spa n, code); 12150 EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, spa n, code);
12146 } 12151 }
12147 ConstObjectValue._internal$ctor.prototype = ConstObjectValue.prototype; 12152 ConstObjectValue._internal$ctor.prototype = ConstObjectValue.prototype;
12148 $inherits(ConstObjectValue, EvaluatedValue);
12149 ConstObjectValue.ConstObjectValue$factory = function(type, fields, canonicalCode , span) { 12153 ConstObjectValue.ConstObjectValue$factory = function(type, fields, canonicalCode , span) {
12150 var fieldValues = []; 12154 var fieldValues = [];
12151 var $$list = fields.getKeys(); 12155 var $$list = fields.getKeys();
12152 for (var $$i = fields.getKeys().iterator$0(); $$i.hasNext$0(); ) { 12156 for (var $$i = fields.getKeys().iterator$0(); $$i.hasNext$0(); ) {
12153 var f = $$i.next$0(); 12157 var f = $$i.next$0();
12154 fieldValues.add(('' + f + ' = ' + fields.$index(f).get$actualValue())); 12158 fieldValues.add(('' + f + ' = ' + fields.$index(f).get$actualValue()));
12155 } 12159 }
12156 fieldValues.sort((function (a, b) { 12160 fieldValues.sort((function (a, b) {
12157 return a.compareTo$1(b); 12161 return a.compareTo$1(b);
12158 }) 12162 })
12159 ); 12163 );
12160 var actualValue = ('const ' + type.get$jsname() + ' [') + Strings.join(fieldVa lues, ',') + ']'; 12164 var actualValue = ('const ' + type.get$jsname() + ' [') + Strings.join(fieldVa lues, ',') + ']';
12161 return new ConstObjectValue._internal$ctor(type, fields, actualValue, canonica lCode, span, EvaluatedValue.codeWithComments(canonicalCode, span)); 12165 return new ConstObjectValue._internal$ctor(type, fields, actualValue, canonica lCode, span, EvaluatedValue.codeWithComments(canonicalCode, span));
12162 } 12166 }
12163 ConstObjectValue.prototype.get$fields = function() { return this.fields; }; 12167 ConstObjectValue.prototype.get$fields = function() { return this.fields; };
12164 ConstObjectValue.prototype.set$fields = function(value) { return this.fields = v alue; }; 12168 ConstObjectValue.prototype.set$fields = function(value) { return this.fields = v alue; };
12165 // ********** Code for GlobalValue ************** 12169 // ********** Code for GlobalValue **************
12170 $inherits(GlobalValue, Value);
12166 function GlobalValue(type, code, isConst, field, name, exp, canonicalCode, span, _dependencies) { 12171 function GlobalValue(type, code, isConst, field, name, exp, canonicalCode, span, _dependencies) {
12167 this.field = field; 12172 this.field = field;
12168 this.name = name; 12173 this.name = name;
12169 this.exp = exp; 12174 this.exp = exp;
12170 this.canonicalCode = canonicalCode; 12175 this.canonicalCode = canonicalCode;
12171 this.dependencies = []; 12176 this.dependencies = [];
12172 // Initializers done 12177 // Initializers done
12173 Value.call(this, type, code, span, !isConst); 12178 Value.call(this, type, code, span, !isConst);
12174 for (var $$i = 0;$$i < _dependencies.length; $$i++) { 12179 for (var $$i = 0;$$i < _dependencies.length; $$i++) {
12175 var dep = _dependencies.$index($$i); 12180 var dep = _dependencies.$index($$i);
12176 this.dependencies.add(dep); 12181 this.dependencies.add(dep);
12177 this.dependencies.addAll(dep.get$dependencies()); 12182 this.dependencies.addAll(dep.get$dependencies());
12178 } 12183 }
12179 } 12184 }
12180 $inherits(GlobalValue, Value);
12181 GlobalValue.GlobalValue$fromStatic$factory = function(field, exp, dependencies) { 12185 GlobalValue.GlobalValue$fromStatic$factory = function(field, exp, dependencies) {
12182 var code = (exp.get$isConst() ? exp.get$canonicalCode() : exp.code); 12186 var code = (exp.get$isConst() ? exp.get$canonicalCode() : exp.code);
12183 var codeWithComment = ('' + code + '/*' + field.get$declaringType().get$name() + '.' + field.get$name() + '*/'); 12187 var codeWithComment = ('' + code + '/*' + field.get$declaringType().get$name() + '.' + field.get$name() + '*/');
12184 return new GlobalValue(exp.get$type(), codeWithComment, field.get$isFinal(), f ield, null, exp, code, exp.span, dependencies.filter$1((function (d) { 12188 return new GlobalValue(exp.get$type(), codeWithComment, field.get$isFinal(), f ield, null, exp, code, exp.span, dependencies.filter$1((function (d) {
12185 return (d instanceof GlobalValue); 12189 return (d instanceof GlobalValue);
12186 }) 12190 })
12187 )); 12191 ));
12188 } 12192 }
12189 GlobalValue.GlobalValue$fromConst$factory = function(uniqueId, exp, dependencies ) { 12193 GlobalValue.GlobalValue$fromConst$factory = function(uniqueId, exp, dependencies ) {
12190 var name = ("const\$" + uniqueId); 12194 var name = ("const\$" + uniqueId);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
12234 } 12238 }
12235 else if (this.name != null) { 12239 else if (this.name != null) {
12236 return this.name.compareTo(other.name); 12240 return this.name.compareTo(other.name);
12237 } 12241 }
12238 else { 12242 else {
12239 return this.field.name.compareTo(other.field.name); 12243 return this.field.name.compareTo(other.field.name);
12240 } 12244 }
12241 } 12245 }
12242 GlobalValue.prototype.compareTo$1 = GlobalValue.prototype.compareTo; 12246 GlobalValue.prototype.compareTo$1 = GlobalValue.prototype.compareTo;
12243 // ********** Code for BareValue ************** 12247 // ********** Code for BareValue **************
12248 $inherits(BareValue, Value);
12244 function BareValue(home, outermost, span) { 12249 function BareValue(home, outermost, span) {
12245 this.home = home; 12250 this.home = home;
12246 // Initializers done 12251 // Initializers done
12247 Value.call(this, outermost.method.declaringType, null, span, false); 12252 Value.call(this, outermost.method.declaringType, null, span, false);
12248 this.isType = outermost.get$isStatic(); 12253 this.isType = outermost.get$isStatic();
12249 } 12254 }
12250 $inherits(BareValue, Value);
12251 BareValue.prototype.get$type = function() { 12255 BareValue.prototype.get$type = function() {
12252 return this._type; 12256 return this._type;
12253 } 12257 }
12254 BareValue.prototype._ensureCode = function() { 12258 BareValue.prototype._ensureCode = function() {
12255 if (this.code != null) return; 12259 if (this.code != null) return;
12256 if (this.isType) { 12260 if (this.isType) {
12257 this.code = this.get$type().get$jsname(); 12261 this.code = this.get$type().get$jsname();
12258 } 12262 }
12259 else { 12263 else {
12260 this.code = this.home._makeThisCode(); 12264 this.code = this.home._makeThisCode();
(...skipping 10 matching lines...) Expand all
12271 } 12275 }
12272 member = this.home.get$library().lookup(name, this.span); 12276 member = this.home.get$library().lookup(name, this.span);
12273 if ($ne(member, null)) { 12277 if ($ne(member, null)) {
12274 return member; 12278 return member;
12275 } 12279 }
12276 this._ensureCode(); 12280 this._ensureCode();
12277 return null; 12281 return null;
12278 } 12282 }
12279 // ********** Code for CompilerException ************** 12283 // ********** Code for CompilerException **************
12280 function CompilerException(_message, _location) { 12284 function CompilerException(_message, _location) {
12281 this._message = _message; 12285 this._lang_message = _message;
12282 this._location = _location; 12286 this._location = _location;
12283 // Initializers done 12287 // Initializers done
12284 } 12288 }
12285 CompilerException.prototype.toString = function() { 12289 CompilerException.prototype.toString = function() {
12286 if (this._location != null) { 12290 if (this._location != null) {
12287 return ('CompilerException: ' + this._location.toMessageString(this._message )); 12291 return ('CompilerException: ' + this._location.toMessageString(this._lang_me ssage));
12288 } 12292 }
12289 else { 12293 else {
12290 return ('CompilerException: ' + this._message); 12294 return ('CompilerException: ' + this._lang_message);
12291 } 12295 }
12292 } 12296 }
12293 CompilerException.prototype.toString$0 = CompilerException.prototype.toString; 12297 CompilerException.prototype.toString$0 = CompilerException.prototype.toString;
12294 // ********** Code for World ************** 12298 // ********** Code for World **************
12295 function World(files) { 12299 function World(files) {
12296 this.errors = 0 12300 this.errors = 0
12297 this.warnings = 0 12301 this.warnings = 0
12298 this.dartBytesRead = 0 12302 this.dartBytesRead = 0
12299 this.jsBytesWritten = 0 12303 this.jsBytesWritten = 0
12300 this.seenFatal = false 12304 this.seenFatal = false
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after
12803 VarMember.prototype.get$name = function() { return this.name; }; 12807 VarMember.prototype.get$name = function() { return this.name; };
12804 VarMember.prototype.get$returnType = function() { 12808 VarMember.prototype.get$returnType = function() {
12805 return $globals.world.varType; 12809 return $globals.world.varType;
12806 } 12810 }
12807 VarMember.prototype.invoke = function(context, node, target, args) { 12811 VarMember.prototype.invoke = function(context, node, target, args) {
12808 return new Value(this.get$returnType(), ('' + target.code + '.' + this.name + '(' + args.getCode() + ')'), node.span, true); 12812 return new Value(this.get$returnType(), ('' + target.code + '.' + this.name + '(' + args.getCode() + ')'), node.span, true);
12809 } 12813 }
12810 VarMember.prototype.generate$1 = VarMember.prototype.generate; 12814 VarMember.prototype.generate$1 = VarMember.prototype.generate;
12811 VarMember.prototype.invoke$4 = VarMember.prototype.invoke; 12815 VarMember.prototype.invoke$4 = VarMember.prototype.invoke;
12812 // ********** Code for VarFunctionStub ************** 12816 // ********** Code for VarFunctionStub **************
12817 $inherits(VarFunctionStub, VarMember);
12813 function VarFunctionStub(name, callArgs) { 12818 function VarFunctionStub(name, callArgs) {
12814 this.args = callArgs.toCallStubArgs(); 12819 this.args = callArgs.toCallStubArgs();
12815 // Initializers done 12820 // Initializers done
12816 VarMember.call(this, name); 12821 VarMember.call(this, name);
12817 $globals.world.gen.corejs.useGenStub = true; 12822 $globals.world.gen.corejs.useGenStub = true;
12818 } 12823 }
12819 $inherits(VarFunctionStub, VarMember);
12820 VarFunctionStub.prototype.generate = function(code) { 12824 VarFunctionStub.prototype.generate = function(code) {
12821 if (this.args.get$hasNames()) { 12825 if (this.args.get$hasNames()) {
12822 this.generateNamed(code); 12826 this.generateNamed(code);
12823 } 12827 }
12824 else { 12828 else {
12825 this.generatePositional(code); 12829 this.generatePositional(code);
12826 } 12830 }
12827 } 12831 }
12828 VarFunctionStub.prototype.generatePositional = function(w) { 12832 VarFunctionStub.prototype.generatePositional = function(w) {
12829 var arity = this.args.get$length(); 12833 var arity = this.args.get$length();
(...skipping 11 matching lines...) Expand all
12841 VarFunctionStub.prototype.generateNamed = function(w) { 12845 VarFunctionStub.prototype.generateNamed = function(w) {
12842 var named = Strings.join(this.args.getNames(), '", "'); 12846 var named = Strings.join(this.args.getNames(), '", "');
12843 var argsCode = this.args.getCode(); 12847 var argsCode = this.args.getCode();
12844 w.enterBlock(('Function.prototype.' + this.name + ' = function(' + argsCode + ') {')); 12848 w.enterBlock(('Function.prototype.' + this.name + ' = function(' + argsCode + ') {'));
12845 w.writeln(('this.' + this.name + ' = this.\$genStub(' + this.args.get$length() + ', ["' + named + '"]);')); 12849 w.writeln(('this.' + this.name + ' = this.\$genStub(' + this.args.get$length() + ', ["' + named + '"]);'));
12846 w.writeln(('return this.' + this.name + '(' + argsCode + ');')); 12850 w.writeln(('return this.' + this.name + '(' + argsCode + ');'));
12847 w.exitBlock('}'); 12851 w.exitBlock('}');
12848 } 12852 }
12849 VarFunctionStub.prototype.generate$1 = VarFunctionStub.prototype.generate; 12853 VarFunctionStub.prototype.generate$1 = VarFunctionStub.prototype.generate;
12850 // ********** Code for VarMethodStub ************** 12854 // ********** Code for VarMethodStub **************
12855 $inherits(VarMethodStub, VarMember);
12851 function VarMethodStub(name, member, args, body) { 12856 function VarMethodStub(name, member, args, body) {
12852 this.member = member; 12857 this.member = member;
12853 this.args = args; 12858 this.args = args;
12854 this.body = body; 12859 this.body = body;
12855 // Initializers done 12860 // Initializers done
12856 VarMember.call(this, name); 12861 VarMember.call(this, name);
12857 } 12862 }
12858 $inherits(VarMethodStub, VarMember);
12859 VarMethodStub.prototype.get$body = function() { return this.body; }; 12863 VarMethodStub.prototype.get$body = function() { return this.body; };
12860 VarMethodStub.prototype.get$isHidden = function() { 12864 VarMethodStub.prototype.get$isHidden = function() {
12861 return this.member != null ? this.member.declaringType.get$isHiddenNativeType( ) : false; 12865 return this.member != null ? this.member.declaringType.get$isHiddenNativeType( ) : false;
12862 } 12866 }
12863 VarMethodStub.prototype.get$returnType = function() { 12867 VarMethodStub.prototype.get$returnType = function() {
12864 return this.member != null ? this.member.get$returnType() : $globals.world.var Type; 12868 return this.member != null ? this.member.get$returnType() : $globals.world.var Type;
12865 } 12869 }
12866 VarMethodStub.prototype.get$declaringType = function() { 12870 VarMethodStub.prototype.get$declaringType = function() {
12867 return this.member != null ? this.member.declaringType : $globals.world.object Type; 12871 return this.member != null ? this.member.declaringType : $globals.world.object Type;
12868 } 12872 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
12909 } 12913 }
12910 } 12914 }
12911 return method.namesInOrder(args); 12915 return method.namesInOrder(args);
12912 } 12916 }
12913 else { 12917 else {
12914 return false; 12918 return false;
12915 } 12919 }
12916 } 12920 }
12917 VarMethodStub.prototype.generate$1 = VarMethodStub.prototype.generate; 12921 VarMethodStub.prototype.generate$1 = VarMethodStub.prototype.generate;
12918 // ********** Code for VarMethodSet ************** 12922 // ********** Code for VarMethodSet **************
12923 $inherits(VarMethodSet, VarMember);
12919 function VarMethodSet(baseName, name, members, callArgs, returnType) { 12924 function VarMethodSet(baseName, name, members, callArgs, returnType) {
12920 this.invoked = false 12925 this.invoked = false
12921 this.baseName = baseName; 12926 this.baseName = baseName;
12922 this.members = members; 12927 this.members = members;
12923 this.returnType = returnType; 12928 this.returnType = returnType;
12924 this.args = callArgs.toCallStubArgs(); 12929 this.args = callArgs.toCallStubArgs();
12925 // Initializers done 12930 // Initializers done
12926 VarMember.call(this, name); 12931 VarMember.call(this, name);
12927 } 12932 }
12928 $inherits(VarMethodSet, VarMember);
12929 VarMethodSet.prototype.get$members = function() { return this.members; }; 12933 VarMethodSet.prototype.get$members = function() { return this.members; };
12930 VarMethodSet.prototype.get$returnType = function() { return this.returnType; }; 12934 VarMethodSet.prototype.get$returnType = function() { return this.returnType; };
12931 VarMethodSet.prototype.invoke = function(context, node, target, args) { 12935 VarMethodSet.prototype.invoke = function(context, node, target, args) {
12932 this._invokeMembers(context, node); 12936 this._invokeMembers(context, node);
12933 return VarMember.prototype.invoke.call(this, context, node, target, args); 12937 return VarMember.prototype.invoke.call(this, context, node, target, args);
12934 } 12938 }
12935 VarMethodSet.prototype._invokeMembers = function(context, node) { 12939 VarMethodSet.prototype._invokeMembers = function(context, node) {
12936 if (this.invoked) return; 12940 if (this.invoked) return;
12937 this.invoked = true; 12941 this.invoked = true;
12938 var hasObjectType = false; 12942 var hasObjectType = false;
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
13125 $globals._MAGENTA_COLOR = '\u001b[35m'; 13129 $globals._MAGENTA_COLOR = '\u001b[35m';
13126 $globals._NO_COLOR = '\u001b[0m'; 13130 $globals._NO_COLOR = '\u001b[0m';
13127 $globals._RED_COLOR = '\u001b[31m'; 13131 $globals._RED_COLOR = '\u001b[31m';
13128 } 13132 }
13129 var const$0 = new NoMoreElementsException()/*const NoMoreElementsException()*/; 13133 var const$0 = new NoMoreElementsException()/*const NoMoreElementsException()*/;
13130 var const$2 = new EmptyQueueException()/*const EmptyQueueException()*/; 13134 var const$2 = new EmptyQueueException()/*const EmptyQueueException()*/;
13131 var const$3 = new _DeletedKeySentinel()/*const _DeletedKeySentinel()*/; 13135 var const$3 = new _DeletedKeySentinel()/*const _DeletedKeySentinel()*/;
13132 var $globals = {}; 13136 var $globals = {};
13133 $static_init(); 13137 $static_init();
13134 main(); 13138 main();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698