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

Unified Diff: frog/frogsh

Issue 8572044: Clean and create output directory when generating docs. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Git rid of need for grid-22.png. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: frog/frogsh
diff --git a/frog/frogsh b/frog/frogsh
index bdd9d258b2036fd9138e96d9bc6135714950ba04..04561f786438bf43d20c19e34b401a377c307cef 100755
--- a/frog/frogsh
+++ b/frog/frogsh
@@ -108,13 +108,6 @@ function $toDartException(e) {
res.stack = e.stack;
return res;
}
-function $notnull_bool(test) {
- return (test === true || test === false) ? test : test.is$bool(); // TypeError
-}
-function $assert(test, text, url, line, column) {
- if (typeof test == 'function') test = test();
- if (!test) $throw(new AssertError(text, url, line, column));
-}
function $throw(e) {
// If e is not a value, we can use V8's captureStackTrace utility method.
// TODO(jmesserly): capture the stack trace on other JS engines.
@@ -136,11 +129,6 @@ Array.prototype.$index = function(i) { return this[i]; }
String.prototype.$index = function(i) { return this[i]; }
Object.prototype.$setindex = function(i, value) { return this[i] = value; }
Array.prototype.$setindex = function(i, value) { return this[i] = value; }
-function $add(x, y) {
- return ((typeof(x) == 'number' && typeof(y) == 'number') ||
- (typeof(x) == 'string' && typeof(y) == 'string'))
- ? x + y : x.$add(y);
-}
function $eq(x, y) {
if (x == null) return y == null;
return (typeof(x) == 'number' && typeof(y) == 'number') ||
@@ -191,20 +179,6 @@ Clock.now = function() {
Clock.frequency = function() {
return 1000;
}
-// ********** Code for AssertError **************
-function AssertError(failedAssertion, url, line, column) {
- this.failedAssertion = failedAssertion;
- this.url = url;
- this.line = line;
- this.column = column;
- // Initializers done
-}
-AssertError.prototype.toString = function() {
- return ("Failed assertion: '" + this.failedAssertion + "' is not true ") + ("in " + this.url + " at line " + this.line + ", column " + this.column + ".");
-}
-AssertError.prototype.toString$0 = function() {
- return this.toString();
-};
// ********** Code for Object **************
Object.prototype.get$dynamic = function() {
return this;
@@ -236,9 +210,6 @@ Object.prototype.addMethod$2 = function($0, $1) {
Object.prototype.addSource$1 = function($0) {
return this.noSuchMethod("addSource", [$0]);
};
-Object.prototype.appendByteStringToken$2 = function($0, $1) {
- return this.noSuchMethod("appendByteStringToken", [$0, $1]);
-};
Object.prototype.beginArguments$1 = function($0) {
return this.noSuchMethod("beginArguments", [$0]);
};
@@ -668,10 +639,6 @@ Object.prototype.visitSources$0 = function() {
Object.prototype.writeDefinition$2 = function($0, $1) {
return this.noSuchMethod("writeDefinition", [$0, $1]);
};
-function $assert_bool(x) {
- if (x == null || typeof(x) == "boolean") return x;
- throw new TypeError("'" + x + "' is not a bool.");
-}
// ********** Code for IllegalAccessException **************
function IllegalAccessException() {
// Initializers done
@@ -821,14 +788,6 @@ Math.min = function(a, b) {
if (isNaN(a)) return a;
else return b;
}
-function $assert_num(x) {
- if (x == null || typeof(x) == "number") return x;
- throw new TypeError("'" + x + "' is not a num.");
-}
-function $assert_String(x) {
- if (x == null || typeof(x) == "string") return x;
- throw new TypeError("'" + x + "' is not a String.");
-}
// ********** Code for Strings **************
function Strings() {}
Strings.String$fromCharCodes$factory = function(charCodes) {
@@ -1343,26 +1302,14 @@ function isolate$deserializeMessage(message_) {
function _IsolateJsUtil() {}
// ********** Code for ListFactory **************
ListFactory = Array;
-ListFactory.prototype.is$ListFactory = function(){return this;};
ListFactory.prototype.is$List = function(){return this;};
-ListFactory.prototype.is$List$ArgumentNode = function(){return this;};
-ListFactory.prototype.is$List$Definition = function(){return this;};
-ListFactory.prototype.is$List$EvaluatedValue = function(){return this;};
-ListFactory.prototype.is$List$String = function(){return this;};
-ListFactory.prototype.is$List$Type = function(){return this;};
-ListFactory.prototype.is$List$Value = function(){return this;};
-ListFactory.prototype.is$List$int = function(){return this;};
-ListFactory.prototype.is$Collection$E = function(){return this;};
-ListFactory.prototype.is$Collection$Object = function(){return this;};
-ListFactory.prototype.is$Collection$Type = function(){return this;};
-ListFactory.prototype.is$Iterable = function(){return this;};
ListFactory.ListFactory$from$factory = function(other) {
var list = [];
for (var $i = other.iterator(); $i.hasNext$0(); ) {
var e = $i.next$0();
list.add(e);
}
- return (list && list.is$ListFactory());
+ return list;
}
ListFactory.prototype.add = function(value) {
this.push(value);
@@ -1394,12 +1341,16 @@ ListFactory.prototype.isEmpty = function() {
ListFactory.prototype.iterator = function() {
return new ListIterator(this);
}
-ListFactory.prototype.add$1 = ListFactory.prototype.add;
+ListFactory.prototype.add$1 = function($0) {
+ return this.add($0);
+};
ListFactory.prototype.addAll$1 = function($0) {
- return this.addAll(($0 && $0.is$Collection$E()));
+ return this.addAll($0);
};
ListFactory.prototype.filter$1 = ListFactory.prototype.filter;
-ListFactory.prototype.indexOf$2 = ListFactory.prototype.indexOf;
+ListFactory.prototype.indexOf$2 = function($0, $1) {
+ return this.indexOf($0, $1);
+};
ListFactory.prototype.isEmpty$0 = function() {
return this.isEmpty();
};
@@ -1428,7 +1379,6 @@ function ListIterator(array) {
this._pos = 0;
// Initializers done
}
-ListIterator.prototype.is$Iterator$T = function(){return this;};
ListIterator.prototype.hasNext = function() {
return this._array.length > this._pos;
}
@@ -1510,9 +1460,11 @@ ImmutableList.prototype.clear = function() {
ImmutableList.prototype.removeLast = function() {
$throw(const$12/*const IllegalAccessException()*/);
}
-ImmutableList.prototype.add$1 = ImmutableList.prototype.add;
+ImmutableList.prototype.add$1 = function($0) {
+ return this.add($0);
+};
ImmutableList.prototype.addAll$1 = function($0) {
- return this.addAll(($0 && $0.is$Collection$E()));
+ return this.addAll($0);
};
ImmutableList.prototype.removeLast$0 = function() {
return this.removeLast();
@@ -1527,8 +1479,6 @@ function ImmutableMap(keyValuePairs) {
this._internal.$setindex(keyValuePairs.$index(i), keyValuePairs.$index(i + 1));
}
}
-ImmutableMap.prototype.is$Map$Node$Element = function(){return this;};
-ImmutableMap.prototype.is$Map$String$Member = function(){return this;};
ImmutableMap.prototype.$index = function(key) {
return this._internal.$index(key);
}
@@ -1572,12 +1522,10 @@ function MatchImplementation(pattern, str, _start, _end, _groups) {
// Initializers done
}
MatchImplementation.prototype.$index = function(group) {
- return $assert_String(this._groups.$index(group));
+ return this._groups.$index(group);
}
// ********** Code for NumImplementation **************
NumImplementation = Number;
-NumImplementation.prototype.is$NumImplementation = function(){return this;};
-NumImplementation.prototype.is$Comparable = function(){return this;};
NumImplementation.prototype.isNaN = function() {
return isNaN(this);
}
@@ -1613,7 +1561,7 @@ NumImplementation.prototype.compareTo = function(other) {
var thisIsNegative = this.isNegative();
var otherIsNegative = other.isNegative();
if ($eq(thisIsNegative, otherIsNegative)) return 0;
- if ($notnull_bool(thisIsNegative)) return -1;
+ if (thisIsNegative) return -1;
return 1;
}
return 0;
@@ -1629,7 +1577,7 @@ NumImplementation.prototype.compareTo = function(other) {
}
}
NumImplementation.prototype.compareTo$1 = function($0) {
- return this.compareTo(($0 && $0.is$NumImplementation()));
+ return this.compareTo($0);
};
NumImplementation.prototype.hashCode$0 = function() {
return this.hashCode();
@@ -1657,16 +1605,13 @@ function HashMapImplementation() {
this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
this._values = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
-HashMapImplementation.prototype.is$HashMapImplementation = function(){return this;};
-HashMapImplementation.prototype.is$Map$Node$Element = function(){return this;};
-HashMapImplementation.prototype.is$Map$String$Member = function(){return this;};
HashMapImplementation.HashMapImplementation$from$factory = function(other) {
var result = new HashMapImplementation();
other.forEach((function (key, value) {
result.$setindex(key, value);
})
);
- return (result && result.is$HashMapImplementation());
+ return result;
}
HashMapImplementation._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
@@ -1678,7 +1623,7 @@ HashMapImplementation._nextProbe = function(currentProbe, numberOfProbes, length
return (currentProbe + numberOfProbes) & (length - 1);
}
HashMapImplementation.prototype._probeForAdding = function(key) {
- var hash = HashMapImplementation._firstProbe($assert_num(key.hashCode$0()), this._keys.length);
+ var hash = HashMapImplementation._firstProbe(key.hashCode$0(), this._keys.length);
var numberOfProbes = 1;
var initialHash = hash;
var insertionIndex = -1;
@@ -1688,7 +1633,7 @@ HashMapImplementation.prototype._probeForAdding = function(key) {
if (insertionIndex < 0) return hash;
return insertionIndex;
}
- else if ($notnull_bool($eq(existingKey, key))) {
+ else if ($eq(existingKey, key)) {
return hash;
}
else if ((insertionIndex < 0) && (HashMapImplementation._deletedKey === existingKey)) {
@@ -1698,13 +1643,13 @@ HashMapImplementation.prototype._probeForAdding = function(key) {
}
}
HashMapImplementation.prototype._probeForLookup = function(key) {
- var hash = HashMapImplementation._firstProbe($assert_num(key.hashCode$0()), this._keys.length);
+ var hash = HashMapImplementation._firstProbe(key.hashCode$0(), this._keys.length);
var numberOfProbes = 1;
var initialHash = hash;
while (true) {
var existingKey = this._keys.$index(hash);
if (existingKey == null) return -1;
- if ($notnull_bool($eq(existingKey, key))) return hash;
+ if ($eq(existingKey, key)) return hash;
hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.length);
}
}
@@ -1725,7 +1670,6 @@ HashMapImplementation._isPowerOfTwo = function(x) {
return ((x & (x - 1)) == 0);
}
HashMapImplementation.prototype._grow = function(newCapacity) {
- $assert(HashMapImplementation._isPowerOfTwo(newCapacity), "_isPowerOfTwo(newCapacity)", "hash_map_set.dart", 153, 12);
var capacity = this._keys.length;
this._loadLimit = HashMapImplementation._computeLoadLimit(newCapacity);
var oldKeys = this._keys;
@@ -1829,8 +1773,6 @@ function HashMapImplementation$E$E() {
this._values = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$E$E, HashMapImplementation);
-HashMapImplementation$E$E.prototype.is$Map$Node$Element = function(){return this;};
-HashMapImplementation$E$E.prototype.is$Map$String$Member = function(){return this;};
HashMapImplementation$E$E._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1841,7 +1783,7 @@ HashMapImplementation$E$E._nextProbe = function(currentProbe, numberOfProbes, le
return (currentProbe + numberOfProbes) & (length - 1);
}
HashMapImplementation$E$E.prototype._probeForAdding = function(key) {
- var hash = HashMapImplementation._firstProbe($assert_num(key.hashCode$0()), this._keys.length);
+ var hash = HashMapImplementation._firstProbe(key.hashCode$0(), this._keys.length);
var numberOfProbes = 1;
var initialHash = hash;
var insertionIndex = -1;
@@ -1851,7 +1793,7 @@ HashMapImplementation$E$E.prototype._probeForAdding = function(key) {
if (insertionIndex < 0) return hash;
return insertionIndex;
}
- else if ($notnull_bool($eq(existingKey, key))) {
+ else if ($eq(existingKey, key)) {
return hash;
}
else if ((insertionIndex < 0) && (HashMapImplementation._deletedKey === existingKey)) {
@@ -1861,13 +1803,13 @@ HashMapImplementation$E$E.prototype._probeForAdding = function(key) {
}
}
HashMapImplementation$E$E.prototype._probeForLookup = function(key) {
- var hash = HashMapImplementation._firstProbe($assert_num(key.hashCode$0()), this._keys.length);
+ var hash = HashMapImplementation._firstProbe(key.hashCode$0(), this._keys.length);
var numberOfProbes = 1;
var initialHash = hash;
while (true) {
var existingKey = this._keys.$index(hash);
if (existingKey == null) return -1;
- if ($notnull_bool($eq(existingKey, key))) return hash;
+ if ($eq(existingKey, key)) return hash;
hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.length);
}
}
@@ -1888,7 +1830,6 @@ HashMapImplementation$E$E._isPowerOfTwo = function(x) {
return ((x & (x - 1)) == 0);
}
HashMapImplementation$E$E.prototype._grow = function(newCapacity) {
- $assert(HashMapImplementation._isPowerOfTwo(newCapacity), "_isPowerOfTwo(newCapacity)", "hash_map_set.dart", 153, 12);
var capacity = this._keys.length;
this._loadLimit = HashMapImplementation._computeLoadLimit(newCapacity);
var oldKeys = this._keys;
@@ -1956,35 +1897,24 @@ HashMapImplementation$E$E.prototype.containsKey = function(key) {
// ********** Code for HashMapImplementation$Element$HInstruction **************
function HashMapImplementation$Element$HInstruction() {}
$inherits(HashMapImplementation$Element$HInstruction, HashMapImplementation);
-HashMapImplementation$Element$HInstruction.prototype.is$Map$Node$Element = false;
-HashMapImplementation$Element$HInstruction.prototype.is$Map$String$Member = false;
// ********** Code for HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V **************
function HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V() {}
$inherits(HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V, HashMapImplementation);
-HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$Map$Node$Element = false;
-HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$Map$String$Member = false;
// ********** Code for HashMapImplementation$String$EvaluatedValue **************
function HashMapImplementation$String$EvaluatedValue() {}
$inherits(HashMapImplementation$String$EvaluatedValue, HashMapImplementation);
-HashMapImplementation$String$EvaluatedValue.prototype.is$Map$Node$Element = false;
-HashMapImplementation$String$EvaluatedValue.prototype.is$Map$String$Member = false;
// ********** Code for HashSetImplementation **************
function HashSetImplementation() {
// Initializers done
this._backingMap = new HashMapImplementation$E$E();
}
-HashSetImplementation.prototype.is$HashSetImplementation = function(){return this;};
-HashSetImplementation.prototype.is$Collection$E = function(){return this;};
-HashSetImplementation.prototype.is$Collection$Object = function(){return this;};
-HashSetImplementation.prototype.is$Collection$Type = function(){return this;};
-HashSetImplementation.prototype.is$Iterable = function(){return this;};
HashSetImplementation.HashSetImplementation$from$factory = function(other) {
var set = new HashSetImplementation();
for (var $i = other.iterator(); $i.hasNext$0(); ) {
var e = $i.next$0();
set.add(e);
}
- return (set && set.is$HashSetImplementation());
+ return set;
}
HashSetImplementation.prototype.add = function(value) {
this._backingMap.$setindex(value, value);
@@ -2020,7 +1950,7 @@ HashSetImplementation.prototype.filter = function(f) {
}
HashSetImplementation.prototype.some = function(f) {
var keys = this._backingMap.getKeys();
- return $assert_bool(keys.some(f));
+ return keys.some(f);
}
HashSetImplementation.prototype.isEmpty = function() {
return this._backingMap.isEmpty();
@@ -2034,11 +1964,15 @@ Object.defineProperty(HashSetImplementation.prototype, "length", {
HashSetImplementation.prototype.iterator = function() {
return new HashSetIterator$E(this);
}
-HashSetImplementation.prototype.add$1 = HashSetImplementation.prototype.add;
+HashSetImplementation.prototype.add$1 = function($0) {
+ return this.add($0);
+};
HashSetImplementation.prototype.addAll$1 = function($0) {
- return this.addAll(($0 && $0.is$Collection$E()));
+ return this.addAll($0);
+};
+HashSetImplementation.prototype.contains$1 = function($0) {
+ return this.contains($0);
};
-HashSetImplementation.prototype.contains$1 = HashSetImplementation.prototype.contains;
HashSetImplementation.prototype.filter$1 = HashSetImplementation.prototype.filter;
HashSetImplementation.prototype.isEmpty$0 = function() {
return this.isEmpty();
@@ -2050,24 +1984,12 @@ HashSetImplementation.prototype.some$1 = HashSetImplementation.prototype.some;
// ********** Code for HashSetImplementation$E **************
function HashSetImplementation$E() {}
$inherits(HashSetImplementation$E, HashSetImplementation);
-HashSetImplementation$E.prototype.is$Collection$E = function(){return this;};
-HashSetImplementation$E.prototype.is$Collection$Object = function(){return this;};
-HashSetImplementation$E.prototype.is$Collection$Type = function(){return this;};
-HashSetImplementation$E.prototype.is$Iterable = function(){return this;};
// ********** Code for HashSetImplementation$String **************
function HashSetImplementation$String() {}
$inherits(HashSetImplementation$String, HashSetImplementation);
-HashSetImplementation$String.prototype.is$Collection$E = function(){return this;};
-HashSetImplementation$String.prototype.is$Collection$Object = function(){return this;};
-HashSetImplementation$String.prototype.is$Collection$Type = false;
-HashSetImplementation$String.prototype.is$Iterable = function(){return this;};
// ********** Code for HashSetImplementation$Type **************
function HashSetImplementation$Type() {}
$inherits(HashSetImplementation$Type, HashSetImplementation);
-HashSetImplementation$Type.prototype.is$Collection$E = function(){return this;};
-HashSetImplementation$Type.prototype.is$Collection$Object = function(){return this;};
-HashSetImplementation$Type.prototype.is$Collection$Type = function(){return this;};
-HashSetImplementation$Type.prototype.is$Iterable = function(){return this;};
// ********** Code for HashSetIterator **************
function HashSetIterator(set_) {
this._nextValidIndex = -1;
@@ -2075,7 +1997,6 @@ function HashSetIterator(set_) {
// Initializers done
this._advance();
}
-HashSetIterator.prototype.is$Iterator$T = function(){return this;};
HashSetIterator.prototype.hasNext = function() {
if (this._nextValidIndex >= this._entries.length) return false;
if (this._entries.$index(this._nextValidIndex) === HashMapImplementation._deletedKey) {
@@ -2115,7 +2036,6 @@ function HashSetIterator$E(set_) {
this._advance();
}
$inherits(HashSetIterator$E, HashSetIterator);
-HashSetIterator$E.prototype.is$Iterator$T = function(){return this;};
HashSetIterator$E.prototype._advance = function() {
var length = this._entries.length;
var entry;
@@ -2147,8 +2067,6 @@ function LinkedHashMapImplementation() {
this._map = new HashMapImplementation();
this._list = new DoubleLinkedQueue$KeyValuePair$K$V();
}
-LinkedHashMapImplementation.prototype.is$Map$Node$Element = function(){return this;};
-LinkedHashMapImplementation.prototype.is$Map$String$Member = function(){return this;};
LinkedHashMapImplementation.prototype.$setindex = function(key, value) {
if (this._map.containsKey(key)) {
this._map.$index(key).get$element().value = value;
@@ -2159,8 +2077,7 @@ LinkedHashMapImplementation.prototype.$setindex = function(key, value) {
}
}
LinkedHashMapImplementation.prototype.$index = function(key) {
- var $0;
- var entry = (($0 = this._map.$index(key)) && $0.is$DoubleLinkedQueueEntry$KeyValuePair$K$V());
+ var entry = this._map.$index(key);
if (entry == null) return null;
return entry.get$element().get$value();
}
@@ -2171,7 +2088,6 @@ LinkedHashMapImplementation.prototype.getKeys = function() {
list.$setindex(index++, entry.key);
}
);
- $assert(index == this.get$length(), "index == length", "linked_hash_map.dart", 75, 12);
return list;
}
LinkedHashMapImplementation.prototype.getValues = function() {
@@ -2181,7 +2097,6 @@ LinkedHashMapImplementation.prototype.getValues = function() {
list.$setindex(index++, entry.value);
}
);
- $assert(index == this.get$length(), "index == length", "linked_hash_map.dart", 86, 12);
return list;
}
LinkedHashMapImplementation.prototype.forEach = function(f) {
@@ -2211,19 +2126,14 @@ LinkedHashMapImplementation.prototype.isEmpty$0 = function() {
// ********** Code for LinkedHashMapImplementation$Node$Element **************
function LinkedHashMapImplementation$Node$Element() {}
$inherits(LinkedHashMapImplementation$Node$Element, LinkedHashMapImplementation);
-LinkedHashMapImplementation$Node$Element.prototype.is$Map$Node$Element = function(){return this;};
-LinkedHashMapImplementation$Node$Element.prototype.is$Map$String$Member = false;
// ********** Code for LinkedHashMapImplementation$String$Keyword **************
function LinkedHashMapImplementation$String$Keyword() {}
$inherits(LinkedHashMapImplementation$String$Keyword, LinkedHashMapImplementation);
-LinkedHashMapImplementation$String$Keyword.prototype.is$Map$Node$Element = false;
-LinkedHashMapImplementation$String$Keyword.prototype.is$Map$String$Member = false;
// ********** Code for DoubleLinkedQueueEntry **************
function DoubleLinkedQueueEntry(e) {
// Initializers done
this._element = e;
}
-DoubleLinkedQueueEntry.prototype.is$DoubleLinkedQueueEntry$KeyValuePair$K$V = function(){return this;};
DoubleLinkedQueueEntry.prototype._link = function(p, n) {
this._next = n;
this._previous = p;
@@ -2255,7 +2165,6 @@ function DoubleLinkedQueueEntry$E(e) {
this._element = e;
}
$inherits(DoubleLinkedQueueEntry$E, DoubleLinkedQueueEntry);
-DoubleLinkedQueueEntry$E.prototype.is$DoubleLinkedQueueEntry$KeyValuePair$K$V = function(){return this;};
DoubleLinkedQueueEntry$E.prototype._link = function(p, n) {
this._next = n;
this._previous = p;
@@ -2284,7 +2193,6 @@ function DoubleLinkedQueueEntry$KeyValuePair$K$V(e) {
this._element = e;
}
$inherits(DoubleLinkedQueueEntry$KeyValuePair$K$V, DoubleLinkedQueueEntry);
-DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$DoubleLinkedQueueEntry$KeyValuePair$K$V = function(){return this;};
DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype._asNonSentinelEntry = function() {
return this;
}
@@ -2340,18 +2248,13 @@ _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V.prototype.prepend = function(e)
new DoubleLinkedQueueEntry$KeyValuePair$K$V(e)._link(this._previous, this);
}
_DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V.prototype.previousEntry = function() {
- var $0;
- return (($0 = this._previous._asNonSentinelEntry()) && $0.is$DoubleLinkedQueueEntry$KeyValuePair$K$V());
+ return this._previous._asNonSentinelEntry();
}
// ********** Code for DoubleLinkedQueue **************
function DoubleLinkedQueue() {
// Initializers done
this._sentinel = new _DoubleLinkedQueueEntrySentinel$E();
}
-DoubleLinkedQueue.prototype.is$Collection$E = function(){return this;};
-DoubleLinkedQueue.prototype.is$Collection$Object = function(){return this;};
-DoubleLinkedQueue.prototype.is$Collection$Type = function(){return this;};
-DoubleLinkedQueue.prototype.is$Iterable = function(){return this;};
DoubleLinkedQueue.prototype.addLast = function(value) {
this._sentinel.prepend(value);
}
@@ -2420,9 +2323,11 @@ DoubleLinkedQueue.prototype.filter = function(f) {
DoubleLinkedQueue.prototype.iterator = function() {
return new _DoubleLinkedQueueIterator$E(this._sentinel);
}
-DoubleLinkedQueue.prototype.add$1 = DoubleLinkedQueue.prototype.add;
+DoubleLinkedQueue.prototype.add$1 = function($0) {
+ return this.add($0);
+};
DoubleLinkedQueue.prototype.addAll$1 = function($0) {
- return this.addAll(($0 && $0.is$Collection$E()));
+ return this.addAll($0);
};
DoubleLinkedQueue.prototype.filter$1 = DoubleLinkedQueue.prototype.filter;
DoubleLinkedQueue.prototype.isEmpty$0 = function() {
@@ -2441,34 +2346,18 @@ DoubleLinkedQueue.prototype.some$1 = DoubleLinkedQueue.prototype.some;
// ********** Code for DoubleLinkedQueue$ClassElement **************
function DoubleLinkedQueue$ClassElement() {}
$inherits(DoubleLinkedQueue$ClassElement, DoubleLinkedQueue);
-DoubleLinkedQueue$ClassElement.prototype.is$Collection$E = function(){return this;};
-DoubleLinkedQueue$ClassElement.prototype.is$Collection$Object = function(){return this;};
-DoubleLinkedQueue$ClassElement.prototype.is$Collection$Type = false;
-DoubleLinkedQueue$ClassElement.prototype.is$Iterable = function(){return this;};
// ********** Code for DoubleLinkedQueue$E **************
function DoubleLinkedQueue$E() {}
$inherits(DoubleLinkedQueue$E, DoubleLinkedQueue);
-DoubleLinkedQueue$E.prototype.is$Collection$E = function(){return this;};
-DoubleLinkedQueue$E.prototype.is$Collection$Object = function(){return this;};
-DoubleLinkedQueue$E.prototype.is$Collection$Type = function(){return this;};
-DoubleLinkedQueue$E.prototype.is$Iterable = function(){return this;};
// ********** Code for DoubleLinkedQueue$Element **************
function DoubleLinkedQueue$Element() {}
$inherits(DoubleLinkedQueue$Element, DoubleLinkedQueue);
-DoubleLinkedQueue$Element.prototype.is$Collection$E = function(){return this;};
-DoubleLinkedQueue$Element.prototype.is$Collection$Object = function(){return this;};
-DoubleLinkedQueue$Element.prototype.is$Collection$Type = false;
-DoubleLinkedQueue$Element.prototype.is$Iterable = function(){return this;};
// ********** Code for DoubleLinkedQueue$KeyValuePair$K$V **************
function DoubleLinkedQueue$KeyValuePair$K$V() {
// Initializers done
this._sentinel = new _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V();
}
$inherits(DoubleLinkedQueue$KeyValuePair$K$V, DoubleLinkedQueue);
-DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$E = function(){return this;};
-DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$Object = function(){return this;};
-DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$Type = false;
-DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Iterable = function(){return this;};
DoubleLinkedQueue$KeyValuePair$K$V.prototype.addLast = function(value) {
this._sentinel.prepend(value);
}
@@ -2489,7 +2378,6 @@ function _DoubleLinkedQueueIterator(_sentinel) {
// Initializers done
this._currentEntry = this._sentinel;
}
-_DoubleLinkedQueueIterator.prototype.is$Iterator$T = function(){return this;};
_DoubleLinkedQueueIterator.prototype.hasNext = function() {
return this._currentEntry._next !== this._sentinel;
}
@@ -2513,7 +2401,6 @@ function _DoubleLinkedQueueIterator$E(_sentinel) {
this._currentEntry = this._sentinel;
}
$inherits(_DoubleLinkedQueueIterator$E, _DoubleLinkedQueueIterator);
-_DoubleLinkedQueueIterator$E.prototype.is$Iterator$T = function(){return this;};
// ********** Code for StopwatchImplementation **************
function StopwatchImplementation() {
this._start = null;
@@ -2555,7 +2442,6 @@ function StringBufferImpl(content) {
this.clear();
this.add(content);
}
-StringBufferImpl.prototype.is$StringBuffer = function(){return this;};
StringBufferImpl.prototype.get$length = function() {
return this._length;
}
@@ -2566,7 +2452,7 @@ StringBufferImpl.prototype.isEmpty = function() {
return this._length == 0;
}
StringBufferImpl.prototype.add = function(obj) {
- var str = $assert_String(obj.toString());
+ var str = obj.toString();
if (str == null || str.isEmpty()) return this;
this._buffer.add(str);
this._length += str.length;
@@ -2586,15 +2472,17 @@ StringBufferImpl.prototype.clear = function() {
}
StringBufferImpl.prototype.toString = function() {
if (this._buffer.length == 0) return "";
- if (this._buffer.length == 1) return $assert_String(this._buffer.$index(0));
+ if (this._buffer.length == 1) return this._buffer.$index(0);
var result = StringBase.concatAll(this._buffer);
this._buffer.clear();
this._buffer.add(result);
return result;
}
-StringBufferImpl.prototype.add$1 = StringBufferImpl.prototype.add;
+StringBufferImpl.prototype.add$1 = function($0) {
+ return this.add($0);
+};
StringBufferImpl.prototype.addAll$1 = function($0) {
- return this.addAll(($0 && $0.is$Collection$Object()));
+ return this.addAll($0);
};
StringBufferImpl.prototype.isEmpty$0 = function() {
return this.isEmpty();
@@ -2617,7 +2505,7 @@ StringBase.createFromCharCodes = function(charCodes) {
}
StringBase.join = function(strings, separator) {
if (strings.length == 0) return '';
- var s = $assert_String(strings.$index(0));
+ var s = strings.$index(0);
for (var i = 1;
i < strings.length; i++) {
s = s + separator + strings.$index(i);
@@ -2629,8 +2517,6 @@ StringBase.concatAll = function(strings) {
}
// ********** Code for StringImplementation **************
StringImplementation = String;
-StringImplementation.prototype.is$Pattern = function(){return this;};
-StringImplementation.prototype.is$Comparable = function(){return this;};
StringImplementation.prototype.endsWith = function(other) {
if (other.length > this.length) return false;
return other == this.substring(this.length - other.length);
@@ -2671,37 +2557,37 @@ StringImplementation.prototype.compareTo = function(other) {
return this == other ? 0 : this < other ? -1 : 1;
}
StringImplementation.prototype.charCodeAt$1 = function($0) {
- return this.charCodeAt($assert_num($0));
+ return this.charCodeAt($0);
};
StringImplementation.prototype.compareTo$1 = function($0) {
- return this.compareTo($assert_String($0));
+ return this.compareTo($0);
};
StringImplementation.prototype.endsWith$1 = function($0) {
- return this.endsWith($assert_String($0));
+ return this.endsWith($0);
};
StringImplementation.prototype.hashCode$0 = function() {
return this.hashCode();
};
StringImplementation.prototype.indexOf$2 = function($0, $1) {
- return this.indexOf($assert_String($0), $assert_num($1));
+ return this.indexOf($0, $1);
};
StringImplementation.prototype.isEmpty$0 = function() {
return this.isEmpty();
};
StringImplementation.prototype.replaceAll$2 = function($0, $1) {
- return this.replaceAll(($0 && $0.is$Pattern()), $assert_String($1));
+ return this.replaceAll($0, $1);
};
StringImplementation.prototype.replaceFirst$2 = function($0, $1) {
- return this.replaceFirst(($0 && $0.is$Pattern()), $assert_String($1));
+ return this.replaceFirst($0, $1);
};
StringImplementation.prototype.startsWith$1 = function($0) {
- return this.startsWith($assert_String($0));
+ return this.startsWith($0);
};
StringImplementation.prototype.substring$1 = function($0) {
- return this.substring($assert_num($0));
+ return this.substring($0);
};
StringImplementation.prototype.substring$2 = function($0, $1) {
- return this.substring($assert_num($0), $assert_num($1));
+ return this.substring($0, $1);
};
// ********** Code for Collections **************
function Collections() {}
@@ -2740,16 +2626,13 @@ DateImplementation.now$ctor = function() {
this._asJs();
}
DateImplementation.now$ctor.prototype = DateImplementation.prototype;
-DateImplementation.prototype.is$Date = function(){return this;};
-DateImplementation.prototype.is$Comparable = function(){return this;};
DateImplementation.prototype.get$value = function() { return this.value; };
DateImplementation.prototype.$eq = function(other) {
if (!((other instanceof DateImplementation))) return false;
return (this.value == other.get$value()) && ($eq(this.timeZone, other.timeZone));
}
DateImplementation.prototype.compareTo = function(other) {
- var $0;
- return $assert_num(this.value.compareTo$1(other.value));
+ return this.value.compareTo(other.value);
}
DateImplementation.prototype.get$year = function() {
return this.isUtc ? this._asJs().getUTCFullYear() :
@@ -2791,7 +2674,7 @@ DateImplementation.prototype.toString = function() {
var min = twoDigits(this.get$minutes());
var sec = twoDigits(this.get$seconds());
var ms = threeDigits(this.get$milliseconds());
- if ($notnull_bool(this.timeZone.isUtc)) {
+ if (this.timeZone.isUtc) {
return ("" + this.get$year() + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z");
}
else {
@@ -2811,10 +2694,10 @@ DateImplementation.prototype._asJs = function() {
return this.date;
}
DateImplementation.prototype.add$1 = function($0) {
- return this.add(($0 && $0.is$Duration()));
+ return this.add($0);
};
DateImplementation.prototype.compareTo$1 = function($0) {
- return this.compareTo(($0 && $0.is$Date()));
+ return this.compareTo($0);
};
DateImplementation.prototype.toString$0 = function() {
return this.toString();
@@ -2831,7 +2714,7 @@ TimeZoneImplementation.prototype.$eq = function(other) {
return $eq(this.isUtc, other.isUtc);
}
TimeZoneImplementation.prototype.toString = function() {
- if ($notnull_bool(this.isUtc)) return "TimeZone (UTC)";
+ if (this.isUtc) return "TimeZone (UTC)";
return "TimeZone (Local)";
}
TimeZoneImplementation.prototype.toString$0 = function() {
@@ -2858,17 +2741,17 @@ function joinPaths(path1, path2) {
var $list = path2.split('/');
for (var $i = 0;$i < $list.length; $i++) {
var piece = $list.$index($i);
- if ($notnull_bool($eq(piece, '..')) && pieces.length > 0 && $notnull_bool($ne(pieces.last$0(), '.')) && $notnull_bool($ne(pieces.last$0(), '..'))) {
+ if ($eq(piece, '..') && pieces.length > 0 && $ne(pieces.last$0(), '.') && $ne(pieces.last$0(), '..')) {
pieces.removeLast$0();
}
- else if ($notnull_bool($ne(piece, ''))) {
- if (pieces.length > 0 && $notnull_bool($eq(pieces.last$0(), '.'))) {
+ else if ($ne(piece, '')) {
+ if (pieces.length > 0 && $eq(pieces.last$0(), '.')) {
pieces.removeLast$0();
}
pieces.add$1(piece);
}
}
- return Strings.join((pieces && pieces.is$List$String()), '/');
+ return Strings.join(pieces, '/');
}
function dirname(path) {
var lastSlash = path.lastIndexOf('/', path.length);
@@ -2915,8 +2798,7 @@ function readSync(fileName) {
// ********** Code for LinkFactory **************
function LinkFactory() {}
LinkFactory.Link$factory = function(head, tail) {
- var $0;
- return new LinkEntry(head, (($0 = (tail == null) ? const$14/*const EmptyLink()*/ : tail) && $0.is$Link$T()));
+ return new LinkEntry(head, (tail == null) ? const$14/*const EmptyLink()*/ : tail);
}
// ********** Code for LinkFactory$Node **************
function LinkFactory$Node() {}
@@ -2926,13 +2808,6 @@ function LinkFactory$T() {}
$inherits(LinkFactory$T, LinkFactory);
// ********** Code for AbstractLink **************
function AbstractLink() {}
-AbstractLink.prototype.is$Link = function(){return this;};
-AbstractLink.prototype.is$Link$Element = function(){return this;};
-AbstractLink.prototype.is$Link$Node = function(){return this;};
-AbstractLink.prototype.is$Link$T = function(){return this;};
-AbstractLink.prototype.is$Link$Token = function(){return this;};
-AbstractLink.prototype.is$Link$Type = function(){return this;};
-AbstractLink.prototype.is$Iterable = function(){return this;};
AbstractLink.prototype.get$head = function() {
$throw("bug");
}
@@ -2943,16 +2818,14 @@ AbstractLink.prototype.prepend = function(element) {
return LinkFactory.Link$factory(element, this);
}
AbstractLink.prototype.iterator = function() {
- var $0;
- return (($0 = this.toList().iterator$0()) && $0.is$Iterator$T());
+ return this.toList().iterator$0();
}
AbstractLink.prototype.printOn = function(buffer, separatedBy) {
- var $0;
- if ($notnull_bool(this.isEmpty())) return;
+ if (this.isEmpty()) return;
buffer.add(this.get$head() == null ? 'null' : this.get$head());
if (separatedBy == null) separatedBy = '';
- for (var link = (($0 = this.get$tail()) && $0.is$Link());
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link())) {
+ for (var link = this.get$tail();
+ !link.isEmpty(); link = link.get$tail()) {
buffer.add(separatedBy);
buffer.add(link.get$head() == null ? 'null' : link.get$head());
}
@@ -2971,7 +2844,7 @@ AbstractLink.prototype.iterator$0 = function() {
return this.iterator();
};
AbstractLink.prototype.printOn$1 = function($0) {
- return this.printOn(($0 && $0.is$StringBuffer()));
+ return this.printOn($0);
};
AbstractLink.prototype.toString$0 = function() {
return this.toString();
@@ -2979,29 +2852,14 @@ AbstractLink.prototype.toString$0 = function() {
// ********** Code for AbstractLink$T **************
function AbstractLink$T() {}
$inherits(AbstractLink$T, AbstractLink);
-AbstractLink$T.prototype.is$Link = function(){return this;};
-AbstractLink$T.prototype.is$Link$Element = function(){return this;};
-AbstractLink$T.prototype.is$Link$Node = function(){return this;};
-AbstractLink$T.prototype.is$Link$T = function(){return this;};
-AbstractLink$T.prototype.is$Link$Token = function(){return this;};
-AbstractLink$T.prototype.is$Link$Type = function(){return this;};
-AbstractLink$T.prototype.is$Iterable = function(){return this;};
AbstractLink$T.prototype.iterator = function() {
- var $0;
- return (($0 = this.toList().iterator$0()) && $0.is$Iterator$T());
+ return this.toList().iterator$0();
}
// ********** Code for LinkTail **************
function LinkTail() {
// Initializers done
}
$inherits(LinkTail, AbstractLink$T);
-LinkTail.prototype.is$Link = function(){return this;};
-LinkTail.prototype.is$Link$Element = function(){return this;};
-LinkTail.prototype.is$Link$Node = function(){return this;};
-LinkTail.prototype.is$Link$T = function(){return this;};
-LinkTail.prototype.is$Link$Token = function(){return this;};
-LinkTail.prototype.is$Link$Type = function(){return this;};
-LinkTail.prototype.is$Iterable = function(){return this;};
LinkTail.prototype.get$head = function() {
return null;
}
@@ -3020,23 +2878,9 @@ LinkTail.prototype.isEmpty$0 = function() {
// ********** Code for LinkTail$Node **************
function LinkTail$Node() {}
$inherits(LinkTail$Node, LinkTail);
-LinkTail$Node.prototype.is$Link = function(){return this;};
-LinkTail$Node.prototype.is$Link$Element = function(){return this;};
-LinkTail$Node.prototype.is$Link$Node = function(){return this;};
-LinkTail$Node.prototype.is$Link$T = function(){return this;};
-LinkTail$Node.prototype.is$Link$Token = function(){return this;};
-LinkTail$Node.prototype.is$Link$Type = function(){return this;};
-LinkTail$Node.prototype.is$Iterable = function(){return this;};
// ********** Code for LinkTail$Type **************
function LinkTail$Type() {}
$inherits(LinkTail$Type, LinkTail);
-LinkTail$Type.prototype.is$Link = function(){return this;};
-LinkTail$Type.prototype.is$Link$Element = function(){return this;};
-LinkTail$Type.prototype.is$Link$Node = function(){return this;};
-LinkTail$Type.prototype.is$Link$T = function(){return this;};
-LinkTail$Type.prototype.is$Link$Token = function(){return this;};
-LinkTail$Type.prototype.is$Link$Type = function(){return this;};
-LinkTail$Type.prototype.is$Iterable = function(){return this;};
// ********** Code for LinkEntry **************
function LinkEntry(head, realTail) {
this.head = head;
@@ -3052,10 +2896,9 @@ LinkEntry.prototype.isEmpty = function() {
return false;
}
LinkEntry.prototype.toList = function() {
- var $0;
var list = new ListFactory();
for (var link = this;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$T())) {
+ !link.isEmpty(); link = link.get$tail()) {
list.addLast(link.get$head());
}
return list;
@@ -3161,63 +3004,59 @@ ArrayBasedScanner.prototype.appendWhiteSpace = function(next) {
}
ArrayBasedScanner.prototype.appendBeginGroup = function(kind, value) {
- var $0;
var token = new BeginGroupToken(kind, value, this.tokenStart);
this.tail.next = token;
this.tail = this.tail.next;
- while (kind !== 60/*null.LT_TOKEN*/ && !$notnull_bool(this.groupingStack.isEmpty()) && this.groupingStack.get$head().kind === 60/*null.LT_TOKEN*/) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ while (kind !== 60/*null.LT_TOKEN*/ && !this.groupingStack.isEmpty() && this.groupingStack.get$head().kind === 60/*null.LT_TOKEN*/) {
+ this.groupingStack = this.groupingStack.get$tail();
}
- this.groupingStack = (($0 = this.groupingStack.prepend(token)) && $0.is$Link$Token());
+ this.groupingStack = this.groupingStack.prepend(token);
}
ArrayBasedScanner.prototype.appendEndGroup = function(kind, value, openKind) {
- var $0;
var oldTail = this.tail;
this.appendStringToken(kind, value);
- if ($notnull_bool(this.groupingStack.isEmpty())) {
+ if (this.groupingStack.isEmpty()) {
if (openKind === 60/*null.LT_TOKEN*/) return;
$throw(new MalformedInputException(('Unmatched ' + value + '')));
}
- while (openKind !== 60/*null.LT_TOKEN*/ && !$notnull_bool(this.groupingStack.isEmpty()) && this.groupingStack.get$head().kind === 60/*null.LT_TOKEN*/) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ while (openKind !== 60/*null.LT_TOKEN*/ && !this.groupingStack.isEmpty() && this.groupingStack.get$head().kind === 60/*null.LT_TOKEN*/) {
+ this.groupingStack = this.groupingStack.get$tail();
}
if (this.groupingStack.get$head().kind !== openKind) {
if (openKind === 60/*null.LT_TOKEN*/) return;
$throw(new MalformedInputException(('Unmatched ' + value + '')));
}
this.groupingStack.get$head().endGroup = oldTail.next;
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ this.groupingStack = this.groupingStack.get$tail();
}
ArrayBasedScanner.prototype.appendGtGt = function(kind, value) {
- var $0;
var oldTail = this.tail;
this.appendStringToken(kind, value);
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
+ this.groupingStack = this.groupingStack.get$tail();
}
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
this.groupingStack.get$head().endGroup = oldTail.next;
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ this.groupingStack = this.groupingStack.get$tail();
}
}
ArrayBasedScanner.prototype.appendGtGtGt = function(kind, value) {
- var $0;
var oldTail = this.tail;
this.appendStringToken(kind, value);
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
+ this.groupingStack = this.groupingStack.get$tail();
}
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
+ this.groupingStack = this.groupingStack.get$tail();
}
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
this.groupingStack.get$head().endGroup = oldTail.next;
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ this.groupingStack = this.groupingStack.get$tail();
}
}
// ********** Code for ArrayBasedScanner$SourceString **************
@@ -3271,63 +3110,59 @@ ArrayBasedScanner$SourceString.prototype.appendWhiteSpace = function(next) {
}
ArrayBasedScanner$SourceString.prototype.appendBeginGroup = function(kind, value) {
- var $0;
var token = new BeginGroupToken(kind, value, this.tokenStart);
this.tail.next = token;
this.tail = this.tail.next;
- while (kind !== 60/*null.LT_TOKEN*/ && !$notnull_bool(this.groupingStack.isEmpty()) && this.groupingStack.get$head().kind === 60/*null.LT_TOKEN*/) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ while (kind !== 60/*null.LT_TOKEN*/ && !this.groupingStack.isEmpty() && this.groupingStack.get$head().kind === 60/*null.LT_TOKEN*/) {
+ this.groupingStack = this.groupingStack.get$tail();
}
- this.groupingStack = (($0 = this.groupingStack.prepend(token)) && $0.is$Link$Token());
+ this.groupingStack = this.groupingStack.prepend(token);
}
ArrayBasedScanner$SourceString.prototype.appendEndGroup = function(kind, value, openKind) {
- var $0;
var oldTail = this.tail;
this.appendStringToken(kind, value);
- if ($notnull_bool(this.groupingStack.isEmpty())) {
+ if (this.groupingStack.isEmpty()) {
if (openKind === 60/*null.LT_TOKEN*/) return;
$throw(new MalformedInputException(('Unmatched ' + value + '')));
}
- while (openKind !== 60/*null.LT_TOKEN*/ && !$notnull_bool(this.groupingStack.isEmpty()) && this.groupingStack.get$head().kind === 60/*null.LT_TOKEN*/) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ while (openKind !== 60/*null.LT_TOKEN*/ && !this.groupingStack.isEmpty() && this.groupingStack.get$head().kind === 60/*null.LT_TOKEN*/) {
+ this.groupingStack = this.groupingStack.get$tail();
}
if (this.groupingStack.get$head().kind !== openKind) {
if (openKind === 60/*null.LT_TOKEN*/) return;
$throw(new MalformedInputException(('Unmatched ' + value + '')));
}
this.groupingStack.get$head().endGroup = oldTail.next;
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ this.groupingStack = this.groupingStack.get$tail();
}
ArrayBasedScanner$SourceString.prototype.appendGtGt = function(kind, value) {
- var $0;
var oldTail = this.tail;
this.appendStringToken(kind, value);
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
+ this.groupingStack = this.groupingStack.get$tail();
}
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
this.groupingStack.get$head().endGroup = oldTail.next;
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ this.groupingStack = this.groupingStack.get$tail();
}
}
ArrayBasedScanner$SourceString.prototype.appendGtGtGt = function(kind, value) {
- var $0;
var oldTail = this.tail;
this.appendStringToken(kind, value);
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
+ this.groupingStack = this.groupingStack.get$tail();
}
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
+ this.groupingStack = this.groupingStack.get$tail();
}
- if ($notnull_bool(this.groupingStack.isEmpty())) return;
- if ($notnull_bool($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/))) {
+ if (this.groupingStack.isEmpty()) return;
+ if ($eq(this.groupingStack.get$head().kind, 60/*null.LT_TOKEN*/)) {
this.groupingStack.get$head().endGroup = oldTail.next;
- this.groupingStack = (($0 = this.groupingStack.get$tail()) && $0.is$Link$Token());
+ this.groupingStack = this.groupingStack.get$tail();
}
}
ArrayBasedScanner$SourceString.prototype.tokenize = function() {
@@ -3844,7 +3679,7 @@ ArrayBasedScanner$SourceString.prototype.tokenizeHex = function(next) {
default:
- if (!$notnull_bool(hasDigits)) {
+ if (!hasDigits) {
$throw(new MalformedInputException(this.get$charOffset()));
}
this.appendByteStringToken(120/*null.HEXADECIMAL_TOKEN*/, this.asciiString(start));
@@ -3886,7 +3721,7 @@ ArrayBasedScanner$SourceString.prototype.tokenizeDotOrNumber = function(next) {
ArrayBasedScanner$SourceString.prototype.tokenizeFractionPart = function(next, start) {
var done = false;
LOOP:
- while (!$notnull_bool(done)) {
+ while (!done) {
switch (next) {
case 48/*null.$0*/:
case 49/*null.$1*/:
@@ -3945,7 +3780,7 @@ ArrayBasedScanner$SourceString.prototype.tokenizeExponent = function(next) {
default:
- if (!$notnull_bool(hasDigits)) {
+ if (!hasDigits) {
$throw(new MalformedInputException(this.get$charOffset()));
}
return next;
@@ -4035,10 +3870,10 @@ ArrayBasedScanner$SourceString.prototype.tokenizeIdentifier = function(next) {
state = null;
}
else if (next < 128) {
- if (state != null && $notnull_bool(state.isLeaf())) {
+ if (state != null && state.isLeaf()) {
this.appendKeywordToken(state.get$keyword());
}
- else if ($notnull_bool(isAscii)) {
+ else if (isAscii) {
this.appendByteStringToken(97/*null.IDENTIFIER_TOKEN*/, this.asciiString(start));
}
else {
@@ -4083,7 +3918,7 @@ ArrayBasedScanner$SourceString.prototype.tokenizeString = function(next, start,
return next;
}
}
- if ($notnull_bool(raw)) {
+ if (raw) {
return this.tokenizeSingleLineRawString(next, q, start);
}
else {
@@ -4580,7 +4415,6 @@ AbstractScanner.prototype.tokenizeLessThan = function(next) {
}
}
AbstractScanner.prototype.tokenizeNumber = function(next) {
- var $0;
var start = this.get$byteOffset();
while (true) {
next = this.advance();
@@ -4611,7 +4445,7 @@ AbstractScanner.prototype.tokenizeNumber = function(next) {
default:
- this.appendByteStringToken$2(105/*null.INT_TOKEN*/, this.asciiString(start));
+ this.appendByteStringToken(105/*null.INT_TOKEN*/, this.asciiString(start));
return next;
}
@@ -4626,7 +4460,6 @@ AbstractScanner.prototype.tokenizeHexOrNumber = function(next) {
return this.tokenizeNumber(next);
}
AbstractScanner.prototype.tokenizeHex = function(next) {
- var $0;
var start = this.get$byteOffset();
var hasDigits = false;
while (true) {
@@ -4660,10 +4493,10 @@ AbstractScanner.prototype.tokenizeHex = function(next) {
default:
- if (!$notnull_bool(hasDigits)) {
+ if (!hasDigits) {
$throw(new MalformedInputException(this.get$charOffset()));
}
- this.appendByteStringToken$2(120/*null.HEXADECIMAL_TOKEN*/, this.asciiString(start));
+ this.appendByteStringToken(120/*null.HEXADECIMAL_TOKEN*/, this.asciiString(start));
return next;
}
@@ -4700,10 +4533,9 @@ AbstractScanner.prototype.tokenizeDotOrNumber = function(next) {
}
}
AbstractScanner.prototype.tokenizeFractionPart = function(next, start) {
- var $0;
var done = false;
LOOP:
- while (!$notnull_bool(done)) {
+ while (!done) {
switch (next) {
case 48/*null.$0*/:
case 49/*null.$1*/:
@@ -4736,7 +4568,7 @@ AbstractScanner.prototype.tokenizeFractionPart = function(next, start) {
if (next == 100/*null.$d*/ || next == 68/*null.$D*/) {
next = this.advance();
}
- this.appendByteStringToken$2(100/*null.DOUBLE_TOKEN*/, this.asciiString(start));
+ this.appendByteStringToken(100/*null.DOUBLE_TOKEN*/, this.asciiString(start));
return next;
}
AbstractScanner.prototype.tokenizeExponent = function(next) {
@@ -4762,7 +4594,7 @@ AbstractScanner.prototype.tokenizeExponent = function(next) {
default:
- if (!$notnull_bool(hasDigits)) {
+ if (!hasDigits) {
$throw(new MalformedInputException(this.get$charOffset()));
}
return next;
@@ -4835,7 +4667,6 @@ AbstractScanner.prototype.tokenizeMultiLineComment = function(next) {
}
}
AbstractScanner.prototype.tokenizeIdentifier = function(next) {
- var $0;
var start = this.get$byteOffset();
var state = null;
if (97/*null.$a*/ <= next && next <= 122/*null.$z*/) {
@@ -4853,14 +4684,14 @@ AbstractScanner.prototype.tokenizeIdentifier = function(next) {
state = null;
}
else if (next < 128) {
- if (state != null && $notnull_bool(state.isLeaf())) {
+ if (state != null && state.isLeaf()) {
this.appendKeywordToken(state.get$keyword());
}
- else if ($notnull_bool(isAscii)) {
- this.appendByteStringToken$2(97/*null.IDENTIFIER_TOKEN*/, this.asciiString(start));
+ else if (isAscii) {
+ this.appendByteStringToken(97/*null.IDENTIFIER_TOKEN*/, this.asciiString(start));
}
else {
- this.appendByteStringToken$2(97/*null.IDENTIFIER_TOKEN*/, this.utf8String(start, -1));
+ this.appendByteStringToken(97/*null.IDENTIFIER_TOKEN*/, this.utf8String(start, -1));
}
return next;
}
@@ -4889,7 +4720,6 @@ AbstractScanner.prototype.tokenizeRawString = function(next) {
}
}
AbstractScanner.prototype.tokenizeString = function(next, start, raw) {
- var $0;
var q = next;
next = this.advance();
if (q == next) {
@@ -4898,11 +4728,11 @@ AbstractScanner.prototype.tokenizeString = function(next, start, raw) {
return this.tokenizeMultiLineString(q, start, raw);
}
else {
- this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(start, -1));
+ this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start, -1));
return next;
}
}
- if ($notnull_bool(raw)) {
+ if (raw) {
return this.tokenizeSingleLineRawString(next, q, start);
}
else {
@@ -4910,10 +4740,9 @@ AbstractScanner.prototype.tokenizeString = function(next, start, raw) {
}
}
AbstractScanner.prototype.tokenizeSingleLineString = function(next, q1, start) {
- var $0;
while (next != -1) {
if (next == q1) {
- this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
+ this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
return this.advance();
}
else if (next == 92/*null.$BACKSLASH*/) {
@@ -4930,11 +4759,10 @@ AbstractScanner.prototype.tokenizeSingleLineString = function(next, q1, start) {
$throw(new MalformedInputException(this.get$charOffset()));
}
AbstractScanner.prototype.tokenizeSingleLineRawString = function(next, q1, start) {
- var $0;
next = this.advance();
while (next != -1) {
if (next == q1) {
- this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
+ this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
return this.advance();
}
else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) {
@@ -4945,7 +4773,6 @@ AbstractScanner.prototype.tokenizeSingleLineRawString = function(next, q1, start
$throw(new MalformedInputException(this.get$charOffset()));
}
AbstractScanner.prototype.tokenizeMultiLineString = function(q, start, raw) {
- var $0;
var next = this.advance();
while (next != -1) {
if (next == q) {
@@ -4953,7 +4780,7 @@ AbstractScanner.prototype.tokenizeMultiLineString = function(q, start, raw) {
if (next == q) {
next = this.advance();
if (next == q) {
- this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
+ this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
return this.advance();
}
}
@@ -4962,7 +4789,6 @@ AbstractScanner.prototype.tokenizeMultiLineString = function(q, start, raw) {
}
return next;
}
-AbstractScanner.prototype.appendByteStringToken$2 = AbstractScanner.prototype.appendByteStringToken;
// ********** Code for AbstractScanner$S **************
function AbstractScanner$S() {}
$inherits(AbstractScanner$S, AbstractScanner);
@@ -5402,7 +5228,6 @@ AbstractScanner$S.prototype.tokenizeLessThan = function(next) {
}
}
AbstractScanner$S.prototype.tokenizeNumber = function(next) {
- var $0;
var start = this.get$byteOffset();
while (true) {
next = this.advance();
@@ -5433,7 +5258,7 @@ AbstractScanner$S.prototype.tokenizeNumber = function(next) {
default:
- this.appendByteStringToken$2(105/*null.INT_TOKEN*/, this.asciiString(start));
+ this.appendByteStringToken(105/*null.INT_TOKEN*/, this.asciiString(start));
return next;
}
@@ -5448,7 +5273,6 @@ AbstractScanner$S.prototype.tokenizeHexOrNumber = function(next) {
return this.tokenizeNumber(next);
}
AbstractScanner$S.prototype.tokenizeHex = function(next) {
- var $0;
var start = this.get$byteOffset();
var hasDigits = false;
while (true) {
@@ -5482,10 +5306,10 @@ AbstractScanner$S.prototype.tokenizeHex = function(next) {
default:
- if (!$notnull_bool(hasDigits)) {
+ if (!hasDigits) {
$throw(new MalformedInputException(this.get$charOffset()));
}
- this.appendByteStringToken$2(120/*null.HEXADECIMAL_TOKEN*/, this.asciiString(start));
+ this.appendByteStringToken(120/*null.HEXADECIMAL_TOKEN*/, this.asciiString(start));
return next;
}
@@ -5522,10 +5346,9 @@ AbstractScanner$S.prototype.tokenizeDotOrNumber = function(next) {
}
}
AbstractScanner$S.prototype.tokenizeFractionPart = function(next, start) {
- var $0;
var done = false;
LOOP:
- while (!$notnull_bool(done)) {
+ while (!done) {
switch (next) {
case 48/*null.$0*/:
case 49/*null.$1*/:
@@ -5558,7 +5381,7 @@ AbstractScanner$S.prototype.tokenizeFractionPart = function(next, start) {
if (next == 100/*null.$d*/ || next == 68/*null.$D*/) {
next = this.advance();
}
- this.appendByteStringToken$2(100/*null.DOUBLE_TOKEN*/, this.asciiString(start));
+ this.appendByteStringToken(100/*null.DOUBLE_TOKEN*/, this.asciiString(start));
return next;
}
AbstractScanner$S.prototype.tokenizeExponent = function(next) {
@@ -5584,7 +5407,7 @@ AbstractScanner$S.prototype.tokenizeExponent = function(next) {
default:
- if (!$notnull_bool(hasDigits)) {
+ if (!hasDigits) {
$throw(new MalformedInputException(this.get$charOffset()));
}
return next;
@@ -5657,7 +5480,6 @@ AbstractScanner$S.prototype.tokenizeMultiLineComment = function(next) {
}
}
AbstractScanner$S.prototype.tokenizeIdentifier = function(next) {
- var $0;
var start = this.get$byteOffset();
var state = null;
if (97/*null.$a*/ <= next && next <= 122/*null.$z*/) {
@@ -5675,14 +5497,14 @@ AbstractScanner$S.prototype.tokenizeIdentifier = function(next) {
state = null;
}
else if (next < 128) {
- if (state != null && $notnull_bool(state.isLeaf())) {
+ if (state != null && state.isLeaf()) {
this.appendKeywordToken(state.get$keyword());
}
- else if ($notnull_bool(isAscii)) {
- this.appendByteStringToken$2(97/*null.IDENTIFIER_TOKEN*/, this.asciiString(start));
+ else if (isAscii) {
+ this.appendByteStringToken(97/*null.IDENTIFIER_TOKEN*/, this.asciiString(start));
}
else {
- this.appendByteStringToken$2(97/*null.IDENTIFIER_TOKEN*/, this.utf8String(start, -1));
+ this.appendByteStringToken(97/*null.IDENTIFIER_TOKEN*/, this.utf8String(start, -1));
}
return next;
}
@@ -5711,7 +5533,6 @@ AbstractScanner$S.prototype.tokenizeRawString = function(next) {
}
}
AbstractScanner$S.prototype.tokenizeString = function(next, start, raw) {
- var $0;
var q = next;
next = this.advance();
if (q == next) {
@@ -5720,11 +5541,11 @@ AbstractScanner$S.prototype.tokenizeString = function(next, start, raw) {
return this.tokenizeMultiLineString(q, start, raw);
}
else {
- this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(start, -1));
+ this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start, -1));
return next;
}
}
- if ($notnull_bool(raw)) {
+ if (raw) {
return this.tokenizeSingleLineRawString(next, q, start);
}
else {
@@ -5732,10 +5553,9 @@ AbstractScanner$S.prototype.tokenizeString = function(next, start, raw) {
}
}
AbstractScanner$S.prototype.tokenizeSingleLineString = function(next, q1, start) {
- var $0;
while (next != -1) {
if (next == q1) {
- this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
+ this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
return this.advance();
}
else if (next == 92/*null.$BACKSLASH*/) {
@@ -5752,11 +5572,10 @@ AbstractScanner$S.prototype.tokenizeSingleLineString = function(next, q1, start)
$throw(new MalformedInputException(this.get$charOffset()));
}
AbstractScanner$S.prototype.tokenizeSingleLineRawString = function(next, q1, start) {
- var $0;
next = this.advance();
while (next != -1) {
if (next == q1) {
- this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
+ this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
return this.advance();
}
else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) {
@@ -5767,7 +5586,6 @@ AbstractScanner$S.prototype.tokenizeSingleLineRawString = function(next, q1, sta
$throw(new MalformedInputException(this.get$charOffset()));
}
AbstractScanner$S.prototype.tokenizeMultiLineString = function(q, start, raw) {
- var $0;
var next = this.advance();
while (next != -1) {
if (next == q) {
@@ -5775,7 +5593,7 @@ AbstractScanner$S.prototype.tokenizeMultiLineString = function(q, start, raw) {
if (next == q) {
next = this.advance();
if (next == q) {
- this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
+ this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start, 0));
return this.advance();
}
}
@@ -5807,11 +5625,10 @@ ScannerTask.prototype.get$name = function() {
ScannerTask.prototype.scan = function(script) {
var $this = this; // closure support
this.measure((function () {
- var $0;
var elements = $this.scanElements(script.get$text());
for (var link = elements;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Element())) {
- $this.compiler.universe.define((($0 = link.get$head()) && $0.is$Element()));
+ !link.isEmpty(); link = link.get$tail()) {
+ $this.compiler.universe.define(link.get$head());
}
})
);
@@ -5833,7 +5650,7 @@ function PartialParser(listener) {
})
;
this.parseTypeFunction = (function (t) {
- return $this.parseType((t && t.is$Token()));
+ return $this.parseType(t);
})
;
this.endTypeArguments = (function (c, bt, et) {
@@ -5849,7 +5666,7 @@ function PartialParser(listener) {
})
;
this.parseTypeVariableFunction = (function (t) {
- return $this.parseTypeVariable((t && t.is$Token()));
+ return $this.parseTypeVariable(t);
})
;
this.endTypeVariables = (function (c, bt, et) {
@@ -5939,7 +5756,7 @@ PartialParser.prototype.parseFormalParameters = function(token) {
this.listener.beginFormalParameters$1(begin);
this.expect('(', token);
var parameterCount = 0;
- if ($notnull_bool(this.optional(')', token.next))) {
+ if (this.optional(')', token.next)) {
this.listener.endFormalParameters$3(parameterCount, begin, token.next);
return token.next.next;
}
@@ -5950,7 +5767,7 @@ PartialParser.prototype.parseFormalParameters = function(token) {
this.listener.endFormalParameter$1(token);
++parameterCount;
}
- while ($notnull_bool(this.optional(',', token)))
+ while (this.optional(',', token))
this.listener.endFormalParameters$3(parameterCount, begin, token);
return this.expect(')', token);
}
@@ -5988,26 +5805,25 @@ PartialParser.prototype.isIdentifier = function(token) {
}
}
PartialParser.prototype.parseSupertypesClauseOpt = function(token) {
- if ($notnull_bool(this.optional('extends', token))) {
+ if (this.optional('extends', token)) {
do {
token = this.parseType(this.next(token));
}
- while ($notnull_bool(this.optional(',', token)))
+ while (this.optional(',', token))
}
return token;
}
PartialParser.prototype.parseFactoryClauseOpt = function(token) {
- if ($notnull_bool(this.optional('factory', token))) {
+ if (this.optional('factory', token)) {
return this.parseType(this.next(token));
}
return token;
}
PartialParser.prototype.skipBlock = function(token) {
- if (!$notnull_bool(this.optional('{', token))) {
+ if (!this.optional('{', token)) {
return this.listener.expectedBlock$1(token);
}
- var beginGroupToken = (token && token.is$BeginGroupToken());
- $assert(beginGroupToken.endGroup == null || beginGroupToken.endGroup.kind === 125/*null.$RBRACE*/, "beginGroupToken.endGroup === null ||\n beginGroupToken.endGroup.kind === $RBRACE", "parser.dart", 171, 12);
+ var beginGroupToken = token;
return beginGroupToken.endGroup;
}
PartialParser.prototype.skipArguments = function(token) {
@@ -6019,7 +5835,7 @@ PartialParser.prototype.parseClass = function(token) {
token = this.parseIdentifier(this.next(token));
token = this.parseTypeVariablesOpt(token);
var extendsKeyword;
- if ($notnull_bool(this.optional('extends', token))) {
+ if (this.optional('extends', token)) {
extendsKeyword = token;
token = this.parseType(this.next(token));
}
@@ -6029,12 +5845,12 @@ PartialParser.prototype.parseClass = function(token) {
}
var implementsKeyword;
var interfacesCount = 0;
- if ($notnull_bool(this.optional('implements', token))) {
+ if (this.optional('implements', token)) {
do {
token = this.parseType(this.next(token));
++interfacesCount;
}
- while ($notnull_bool(this.optional(',', token)))
+ while (this.optional(',', token))
}
token = this.parseNativeClassClauseOpt(token);
token = this.parseClassBody(token);
@@ -6042,22 +5858,21 @@ PartialParser.prototype.parseClass = function(token) {
return token.next;
}
PartialParser.prototype.parseNativeClassClauseOpt = function(token) {
- if ($notnull_bool(this.optional('native', token))) {
+ if (this.optional('native', token)) {
return this.parseString(this.next(token));
}
return token;
}
PartialParser.prototype.parseString = function(token) {
- var $0;
if (token.kind === 39/*null.STRING_TOKEN*/) {
return this.next(token);
}
else {
- return (($0 = this.listener.expected$2('string', token)) && $0.is$Token());
+ return this.listener.expected$2('string', token);
}
}
PartialParser.prototype.parseIdentifier = function(token) {
- if ($notnull_bool(this.isIdentifier(token))) {
+ if (this.isIdentifier(token)) {
this.listener.handleIdentifier$1(token);
}
else {
@@ -6086,7 +5901,7 @@ PartialParser.prototype.expect = function(string, token) {
PartialParser.prototype.parseTypeVariable = function(token) {
this.listener.beginTypeVariable$1(token);
token = this.parseIdentifier(token);
- if ($notnull_bool(this.optional('extends', token))) {
+ if (this.optional('extends', token)) {
token = this.parseType(this.next(token));
}
else {
@@ -6101,14 +5916,14 @@ PartialParser.prototype.optional = function(value, token) {
PartialParser.prototype.parseType = function(token) {
var begin = token;
var identifierCount = 1;
- if ($notnull_bool(this.isIdentifier(token))) {
+ if (this.isIdentifier(token)) {
token = this.parseIdentifier(token);
- while ($notnull_bool(this.optional('.', token))) {
+ while (this.optional('.', token)) {
token = this.parseIdentifier(this.next(token));
++identifierCount;
}
}
- else if ($notnull_bool(this.optional('var', token))) {
+ else if (this.optional('var', token)) {
this.listener.handleVarKeyword$1(token);
this.listener.endType$3(identifierCount, begin, token);
return this.next(token);
@@ -6124,24 +5939,23 @@ PartialParser.prototype.parseTypeArgumentsOpt = function(token) {
return this.parseStuff(token, this.beginTypeArguments, this.parseTypeFunction, this.endTypeArguments, this.handleNoTypeArguments);
}
PartialParser.prototype.parseTypeVariablesOpt = function(token) {
- if ($notnull_bool(this.optional('<', token))) {
- var beginGroupToken = (token && token.is$BeginGroupToken());
+ if (this.optional('<', token)) {
+ var beginGroupToken = token;
token = this.next(beginGroupToken.endGroup);
}
this.listener.handleNoTypeVariables$1(token);
return token;
}
PartialParser.prototype.parseStuff = function(token, beginStuff, stuffParser, endStuff, handleNoStuff) {
- var $0;
- if ($notnull_bool(this.optional('<', token))) {
+ if (this.optional('<', token)) {
var begin = token;
beginStuff.call$1(begin);
var count = 0;
do {
- token = (($0 = stuffParser.call$1(this.next(token))) && $0.is$Token());
+ token = stuffParser.call$1(this.next(token));
++count;
}
- while ($notnull_bool(this.optional(',', token)))
+ while (this.optional(',', token))
endStuff.call$3(count, begin, token);
return this.expect('>', token);
}
@@ -6177,11 +5991,11 @@ PartialParser.prototype.parseTopLevelMember = function(token) {
token = this.parseIdentifier(previous);
var isField;
while (true) {
- if ($notnull_bool(this.optional('(', token))) {
+ if (this.optional('(', token)) {
isField = false;
break;
}
- else if ($notnull_bool(this.optional('=', token)) || $notnull_bool(this.optional(';', token))) {
+ else if (this.optional('=', token) || this.optional(';', token)) {
isField = true;
break;
}
@@ -6189,16 +6003,16 @@ PartialParser.prototype.parseTopLevelMember = function(token) {
token = this.listener.unexpected$1(token);
}
}
- if (!$notnull_bool(isField)) {
- token = this.next(this.skipArguments((token && token.is$BeginGroupToken())));
+ if (!isField) {
+ token = this.next(this.skipArguments(token));
}
while (token != null && token.kind !== 123/*null.LBRACE_TOKEN*/ && token.kind !== 59/*null.SEMICOLON_TOKEN*/) {
token = this.next(token);
}
- if (!$notnull_bool(this.optional(';', token))) {
+ if (!this.optional(';', token)) {
token = this.skipBlock(token);
}
- if ($notnull_bool(isField)) {
+ if (isField) {
this.listener.endTopLevelField$2(start, token);
}
else {
@@ -6235,7 +6049,7 @@ PartialParser.prototype.handleNoTypeVariables$1 = function($0) {
return this.handleNoTypeVariables.call$1($0);
};
PartialParser.prototype.parseClass$1 = function($0) {
- return this.parseClass(($0 && $0.is$Token()));
+ return this.parseClass($0);
};
// ********** Code for Parser **************
function Parser(listener) {
@@ -6253,7 +6067,7 @@ Parser.prototype.parseFunction = function(token) {
return this.parseFunctionBody(token);
}
Parser.prototype.parseFunctionBody = function(token) {
- if ($notnull_bool(this.optional(';', token))) {
+ if (this.optional(';', token)) {
this.listener.endFunctionBody$3(0, null, token);
return token.next;
}
@@ -6261,7 +6075,7 @@ Parser.prototype.parseFunctionBody = function(token) {
var statementCount = 0;
this.listener.beginFunctionBody$1(begin);
token = this.checkEof(this.expect('{', token));
- while (!$notnull_bool(this.optional('}', token))) {
+ while (!this.optional('}', token)) {
token = this.parseStatement(token);
++statementCount;
}
@@ -6312,9 +6126,8 @@ Parser.prototype.expectSemicolon = function(token) {
Parser.prototype.parseReturnStatement = function(token) {
var begin = token;
this.listener.beginReturnStatement$1(begin);
- $assert('return' === token.get$stringValue(), "'return' === token.stringValue", "parser.dart", 455, 12);
token = this.next(token);
- if ($notnull_bool(this.optional(';', token))) {
+ if (this.optional(';', token)) {
this.listener.endReturnStatement$3(false, begin, token);
}
else {
@@ -6324,7 +6137,6 @@ Parser.prototype.parseReturnStatement = function(token) {
return this.expectSemicolon(token);
}
Parser.prototype.parseExpressionStatementOrDeclaration = function(token) {
- $assert(token.kind === 97/*null.IDENTIFIER_TOKEN*/, "token.kind === IDENTIFIER_TOKEN", "parser.dart", 467, 12);
var peek = token.next;
if (peek.kind === 46/*null.PERIOD_TOKEN*/) {
if (peek.next.kind === 97/*null.IDENTIFIER_TOKEN*/) {
@@ -6335,7 +6147,7 @@ Parser.prototype.parseExpressionStatementOrDeclaration = function(token) {
return this.parseLocalDeclaration(token, peek);
}
else if (peek.kind === 60/*null.LT_TOKEN*/) {
- var beginGroupToken = (peek && peek.is$BeginGroupToken());
+ var beginGroupToken = peek;
var gtToken = beginGroupToken.endGroup;
if (gtToken != null && gtToken.next.kind === 97/*null.IDENTIFIER_TOKEN*/) {
var identifier = gtToken.next;
@@ -6345,10 +6157,10 @@ Parser.prototype.parseExpressionStatementOrDeclaration = function(token) {
return this.parseLocalDeclaration(token, identifier);
}
else if (afterIdKind === 41/*null.RPAREN_TOKEN*/) {
- var beginParen = (afterId && afterId.is$BeginGroupToken());
+ var beginParen = afterId;
var endParen = beginParen.endGroup;
var afterParens = endParen.next;
- if ($notnull_bool(this.optional('{', afterParens)) || $notnull_bool(this.optional('=>', afterParens))) {
+ if (this.optional('{', afterParens) || this.optional('=>', afterParens)) {
return this.parseLocalDeclaration(token, identifier);
}
}
@@ -6373,7 +6185,7 @@ Parser.prototype.parseExpressionStatement = function(token) {
}
Parser.prototype.parseExpression = function(token) {
token = this.parseConditionalExpression(token);
- if ($notnull_bool(this.isAssignmentOperator(token))) {
+ if (this.isAssignmentOperator(token)) {
var operator = token;
token = this.parseExpression(this.next(token));
this.listener.handleAssignmentExpression$1(operator);
@@ -6385,7 +6197,7 @@ Parser.prototype.isAssignmentOperator = function(token) {
}
Parser.prototype.parseConditionalExpression = function(token) {
token = this.parseBinaryExpression(token, 4);
- if ($notnull_bool(this.optional('?', token))) {
+ if (this.optional('?', token)) {
var question = token;
token = this.parseExpression(this.next(token));
var colon = token;
@@ -6396,10 +6208,9 @@ Parser.prototype.parseConditionalExpression = function(token) {
return token;
}
Parser.prototype.parseBinaryExpression = function(token, precedence) {
- $assert(precedence >= 4, "precedence >= 4", "parser.dart", 553, 12);
token = this.parsePrimary(token);
var tokenLevel = this.getPrecedence(token);
- for (var level = $assert_num(tokenLevel);
+ for (var level = tokenLevel;
level >= precedence; --level) {
while (tokenLevel === level) {
var operator = token;
@@ -6650,7 +6461,7 @@ Parser.prototype.parseSend = function(token) {
return token;
}
Parser.prototype.parseArgumentsOpt = function(token) {
- if (!$notnull_bool(this.optional('(', token))) {
+ if (!this.optional('(', token)) {
this.listener.handleNoArguments$1(token);
return token;
}
@@ -6661,9 +6472,8 @@ Parser.prototype.parseArgumentsOpt = function(token) {
Parser.prototype.parseArguments = function(token) {
var begin = token;
this.listener.beginArguments$1(begin);
- $assert('(' === token.get$stringValue(), "'(' === token.stringValue", "parser.dart", 686, 12);
var argumentCount = 0;
- if ($notnull_bool(this.optional(')', token.next))) {
+ if (this.optional(')', token.next)) {
this.listener.endArguments$3(argumentCount, begin, token.next);
return token.next.next;
}
@@ -6671,7 +6481,7 @@ Parser.prototype.parseArguments = function(token) {
token = this.parseExpression(this.next(token));
++argumentCount;
}
- while ($notnull_bool(this.optional(',', token)))
+ while (this.optional(',', token))
this.listener.endArguments$3(argumentCount, begin, token);
return this.expect(')', token);
}
@@ -6680,7 +6490,7 @@ Parser.prototype.parseVariablesDeclaration = function(token) {
this.listener.beginVariablesDeclaration$1(token);
token = this.parseFinalVarOrType(token);
token = this.parseOptionallyInitializedIdentifier(token);
- while ($notnull_bool(this.optional(',', token))) {
+ while (this.optional(',', token)) {
token = this.parseOptionallyInitializedIdentifier(this.next(token));
++count;
}
@@ -6690,7 +6500,7 @@ Parser.prototype.parseVariablesDeclaration = function(token) {
Parser.prototype.parseOptionallyInitializedIdentifier = function(token) {
this.listener.beginInitializedIdentifier$1(token);
token = this.parseIdentifier(token);
- if ($notnull_bool(this.optional('=', token))) {
+ if (this.optional('=', token)) {
var assignment = token;
this.listener.beginInitializer$1(token);
token = this.parseExpression(this.next(token));
@@ -6721,7 +6531,7 @@ Parser.prototype.parseIfStatement = function(token) {
token = this.parseArguments(token);
token = this.parseStatement(token);
var elseToken = null;
- if ($notnull_bool(this.optional('else', token))) {
+ if (this.optional('else', token)) {
elseToken = token;
token = this.parseStatement(token.next);
}
@@ -6746,7 +6556,7 @@ Parser.prototype.parseBlock = function(token) {
this.listener.beginBlock$1(begin);
var statementCount = 0;
token = this.expect('{', token);
- while (!$notnull_bool(this.optional('}', token))) {
+ while (!this.optional('}', token)) {
token = this.parseStatement(token);
++statementCount;
}
@@ -6757,7 +6567,7 @@ Parser.prototype.parseThrowStatement = function(token) {
var throwToken = token;
this.listener.beginThrowStatement$1(throwToken);
token = this.expect('throw', token);
- if ($notnull_bool(this.optional(';', token))) {
+ if (this.optional(';', token)) {
this.listener.endRethrowStatement$2(throwToken, token);
return token.next;
}
@@ -6768,7 +6578,7 @@ Parser.prototype.parseThrowStatement = function(token) {
}
}
Parser.prototype.parseFunction$1 = function($0) {
- return this.parseFunction(($0 && $0.is$Token()));
+ return this.parseFunction($0);
};
// ********** Code for ParserTask **************
function ParserTask(compiler) {
@@ -6781,11 +6591,10 @@ ParserTask.prototype.get$name = function() {
}
ParserTask.prototype.parse = function(element) {
var $this = this; // closure support
- var $0;
- return (($0 = this.measure((function () {
+ return this.measure((function () {
return element.parseNode($this.compiler, $this.compiler);
})
- )) && $0.is$Node());
+ );
}
// ********** Code for Listener **************
function Listener() {}
@@ -6997,208 +6806,208 @@ Listener.prototype.unexpected = function(token) {
$throw(new ParserError(("Unexpected token '" + token + "' @ " + token.charOffset + "")));
}
Listener.prototype.beginArguments$1 = function($0) {
- return this.beginArguments(($0 && $0.is$Token()));
+ return this.beginArguments($0);
};
Listener.prototype.beginBlock$1 = function($0) {
- return this.beginBlock(($0 && $0.is$Token()));
+ return this.beginBlock($0);
};
Listener.prototype.beginClass$1 = function($0) {
- return this.beginClass(($0 && $0.is$Token()));
+ return this.beginClass($0);
};
Listener.prototype.beginExpressionStatement$1 = function($0) {
- return this.beginExpressionStatement(($0 && $0.is$Token()));
+ return this.beginExpressionStatement($0);
};
Listener.prototype.beginForStatement$1 = function($0) {
- return this.beginForStatement(($0 && $0.is$Token()));
+ return this.beginForStatement($0);
};
Listener.prototype.beginFormalParameter$1 = function($0) {
- return this.beginFormalParameter(($0 && $0.is$Token()));
+ return this.beginFormalParameter($0);
};
Listener.prototype.beginFormalParameters$1 = function($0) {
- return this.beginFormalParameters(($0 && $0.is$Token()));
+ return this.beginFormalParameters($0);
};
Listener.prototype.beginFunction$1 = function($0) {
- return this.beginFunction(($0 && $0.is$Token()));
+ return this.beginFunction($0);
};
Listener.prototype.beginFunctionBody$1 = function($0) {
- return this.beginFunctionBody(($0 && $0.is$Token()));
+ return this.beginFunctionBody($0);
};
Listener.prototype.beginFunctionName$1 = function($0) {
- return this.beginFunctionName(($0 && $0.is$Token()));
+ return this.beginFunctionName($0);
};
Listener.prototype.beginFunctionTypeAlias$1 = function($0) {
- return this.beginFunctionTypeAlias(($0 && $0.is$Token()));
+ return this.beginFunctionTypeAlias($0);
};
Listener.prototype.beginIfStatement$1 = function($0) {
- return this.beginIfStatement(($0 && $0.is$Token()));
+ return this.beginIfStatement($0);
};
Listener.prototype.beginInitializedIdentifier$1 = function($0) {
- return this.beginInitializedIdentifier(($0 && $0.is$Token()));
+ return this.beginInitializedIdentifier($0);
};
Listener.prototype.beginInitializer$1 = function($0) {
- return this.beginInitializer(($0 && $0.is$Token()));
+ return this.beginInitializer($0);
};
Listener.prototype.beginInterface$1 = function($0) {
- return this.beginInterface(($0 && $0.is$Token()));
+ return this.beginInterface($0);
};
Listener.prototype.beginLibraryTag$1 = function($0) {
- return this.beginLibraryTag(($0 && $0.is$Token()));
+ return this.beginLibraryTag($0);
};
Listener.prototype.beginReturnStatement$1 = function($0) {
- return this.beginReturnStatement(($0 && $0.is$Token()));
+ return this.beginReturnStatement($0);
};
Listener.prototype.beginSend$1 = function($0) {
- return this.beginSend(($0 && $0.is$Token()));
+ return this.beginSend($0);
};
Listener.prototype.beginThrowStatement$1 = function($0) {
- return this.beginThrowStatement(($0 && $0.is$Token()));
+ return this.beginThrowStatement($0);
};
Listener.prototype.beginTopLevelMember$1 = function($0) {
- return this.beginTopLevelMember(($0 && $0.is$Token()));
+ return this.beginTopLevelMember($0);
};
Listener.prototype.beginTypeArguments$1 = function($0) {
- return this.beginTypeArguments(($0 && $0.is$Token()));
+ return this.beginTypeArguments($0);
};
Listener.prototype.beginTypeVariable$1 = function($0) {
- return this.beginTypeVariable(($0 && $0.is$Token()));
+ return this.beginTypeVariable($0);
};
Listener.prototype.beginTypeVariables$1 = function($0) {
- return this.beginTypeVariables(($0 && $0.is$Token()));
+ return this.beginTypeVariables($0);
};
Listener.prototype.beginVariablesDeclaration$1 = function($0) {
- return this.beginVariablesDeclaration(($0 && $0.is$Token()));
+ return this.beginVariablesDeclaration($0);
};
Listener.prototype.endArguments$3 = function($0, $1, $2) {
- return this.endArguments($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endArguments($0, $1, $2);
};
Listener.prototype.endBlock$3 = function($0, $1, $2) {
- return this.endBlock($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endBlock($0, $1, $2);
};
Listener.prototype.endClass$5 = function($0, $1, $2, $3, $4) {
- return this.endClass($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()), ($3 && $3.is$Token()), ($4 && $4.is$Token()));
+ return this.endClass($0, $1, $2, $3, $4);
};
Listener.prototype.endExpressionStatement$1 = function($0) {
- return this.endExpressionStatement(($0 && $0.is$Token()));
+ return this.endExpressionStatement($0);
};
Listener.prototype.endForStatement$2 = function($0, $1) {
- return this.endForStatement(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endForStatement($0, $1);
};
Listener.prototype.endFormalParameter$1 = function($0) {
- return this.endFormalParameter(($0 && $0.is$Token()));
+ return this.endFormalParameter($0);
};
Listener.prototype.endFormalParameters$3 = function($0, $1, $2) {
- return this.endFormalParameters($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endFormalParameters($0, $1, $2);
};
Listener.prototype.endFunctionBody$3 = function($0, $1, $2) {
- return this.endFunctionBody($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endFunctionBody($0, $1, $2);
};
Listener.prototype.endFunctionName$1 = function($0) {
- return this.endFunctionName(($0 && $0.is$Token()));
+ return this.endFunctionName($0);
};
Listener.prototype.endFunctionTypeAlias$1 = function($0) {
- return this.endFunctionTypeAlias(($0 && $0.is$Token()));
+ return this.endFunctionTypeAlias($0);
};
Listener.prototype.endIfStatement$2 = function($0, $1) {
- return this.endIfStatement(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endIfStatement($0, $1);
};
Listener.prototype.endInitializedIdentifier$0 = function() {
return this.endInitializedIdentifier();
};
Listener.prototype.endInitializer$1 = function($0) {
- return this.endInitializer(($0 && $0.is$Token()));
+ return this.endInitializer($0);
};
Listener.prototype.endInterface$1 = function($0) {
- return this.endInterface(($0 && $0.is$Token()));
+ return this.endInterface($0);
};
Listener.prototype.endRethrowStatement$2 = function($0, $1) {
- return this.endRethrowStatement(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endRethrowStatement($0, $1);
};
Listener.prototype.endReturnStatement$3 = function($0, $1, $2) {
- return this.endReturnStatement($assert_bool($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endReturnStatement($0, $1, $2);
};
Listener.prototype.endSend$1 = function($0) {
- return this.endSend(($0 && $0.is$Token()));
+ return this.endSend($0);
};
Listener.prototype.endThrowStatement$2 = function($0, $1) {
- return this.endThrowStatement(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endThrowStatement($0, $1);
};
Listener.prototype.endTopLevelField$2 = function($0, $1) {
- return this.endTopLevelField(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endTopLevelField($0, $1);
};
Listener.prototype.endTopLevelMethod$2 = function($0, $1) {
- return this.endTopLevelMethod(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endTopLevelMethod($0, $1);
};
Listener.prototype.endType$3 = function($0, $1, $2) {
- return this.endType($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endType($0, $1, $2);
};
Listener.prototype.endTypeArguments$3 = function($0, $1, $2) {
- return this.endTypeArguments($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endTypeArguments($0, $1, $2);
};
Listener.prototype.endTypeVariable$1 = function($0) {
- return this.endTypeVariable(($0 && $0.is$Token()));
+ return this.endTypeVariable($0);
};
Listener.prototype.endTypeVariables$3 = function($0, $1, $2) {
- return this.endTypeVariables($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endTypeVariables($0, $1, $2);
};
Listener.prototype.endVariablesDeclaration$2 = function($0, $1) {
- return this.endVariablesDeclaration($assert_num($0), ($1 && $1.is$Token()));
+ return this.endVariablesDeclaration($0, $1);
};
Listener.prototype.expected$2 = function($0, $1) {
- return this.expected($assert_String($0), ($1 && $1.is$Token()));
+ return this.expected($0, $1);
};
Listener.prototype.expectedBlock$1 = function($0) {
- return this.expectedBlock(($0 && $0.is$Token()));
+ return this.expectedBlock($0);
};
Listener.prototype.expectedIdentifier$1 = function($0) {
- return this.expectedIdentifier(($0 && $0.is$Token()));
+ return this.expectedIdentifier($0);
};
Listener.prototype.expectedType$1 = function($0) {
- return this.expectedType(($0 && $0.is$Token()));
+ return this.expectedType($0);
};
Listener.prototype.handleAssignmentExpression$1 = function($0) {
- return this.handleAssignmentExpression(($0 && $0.is$Token()));
+ return this.handleAssignmentExpression($0);
};
Listener.prototype.handleBinaryExpression$1 = function($0) {
- return this.handleBinaryExpression(($0 && $0.is$Token()));
+ return this.handleBinaryExpression($0);
};
Listener.prototype.handleConditionalExpression$2 = function($0, $1) {
- return this.handleConditionalExpression(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.handleConditionalExpression($0, $1);
};
Listener.prototype.handleIdentifier$1 = function($0) {
- return this.handleIdentifier(($0 && $0.is$Token()));
+ return this.handleIdentifier($0);
};
Listener.prototype.handleLiteralBool$1 = function($0) {
- return this.handleLiteralBool(($0 && $0.is$Token()));
+ return this.handleLiteralBool($0);
};
Listener.prototype.handleLiteralDouble$1 = function($0) {
- return this.handleLiteralDouble(($0 && $0.is$Token()));
+ return this.handleLiteralDouble($0);
};
Listener.prototype.handleLiteralInt$1 = function($0) {
- return this.handleLiteralInt(($0 && $0.is$Token()));
+ return this.handleLiteralInt($0);
};
Listener.prototype.handleLiteralString$1 = function($0) {
- return this.handleLiteralString(($0 && $0.is$Token()));
+ return this.handleLiteralString($0);
};
Listener.prototype.handleNoArguments$1 = function($0) {
- return this.handleNoArguments(($0 && $0.is$Token()));
+ return this.handleNoArguments($0);
};
Listener.prototype.handleNoType$1 = function($0) {
- return this.handleNoType(($0 && $0.is$Token()));
+ return this.handleNoType($0);
};
Listener.prototype.handleNoTypeArguments$1 = function($0) {
- return this.handleNoTypeArguments(($0 && $0.is$Token()));
+ return this.handleNoTypeArguments($0);
};
Listener.prototype.handleNoTypeVariables$1 = function($0) {
- return this.handleNoTypeVariables(($0 && $0.is$Token()));
+ return this.handleNoTypeVariables($0);
};
Listener.prototype.handleVarKeyword$1 = function($0) {
- return this.handleVarKeyword(($0 && $0.is$Token()));
+ return this.handleVarKeyword($0);
};
Listener.prototype.handleVoidKeyword$1 = function($0) {
- return this.handleVoidKeyword(($0 && $0.is$Token()));
+ return this.handleVoidKeyword($0);
};
Listener.prototype.unexpected$1 = function($0) {
- return this.unexpected(($0 && $0.is$Token()));
+ return this.unexpected($0);
};
Listener.prototype.unexpectedEof$0 = function() {
return this.unexpectedEof();
@@ -7227,12 +7036,11 @@ ElementListener.prototype.beginLibraryTag = function(token) {
this.canceler.cancel("Cannot handle library tags");
}
ElementListener.prototype.endClass = function(interfacesCount, beginToken, extendsKeyword, implementsKeyword, endToken) {
- var $0;
for (; interfacesCount > 0; --interfacesCount) {
this.popNode();
}
- var supertype = (($0 = this.popNode()) && $0.is$Identifier());
- var name = (($0 = this.popNode()) && $0.is$Identifier());
+ var supertype = this.popNode();
+ var name = this.popNode();
this.pushElement(new PartialClassElement(name.get$source(), beginToken, endToken));
}
ElementListener.prototype.endInterface = function(token) {
@@ -7242,8 +7050,7 @@ ElementListener.prototype.endFunctionTypeAlias = function(token) {
this.canceler.cancel("Cannot handle typedefs");
}
ElementListener.prototype.endTopLevelMethod = function(beginToken, endToken) {
- var $0;
- var name = (($0 = this.popNode()) && $0.is$Identifier());
+ var name = this.popNode();
this.pushElement(new PartialFunctionElement(name.get$source(), beginToken, endToken));
}
ElementListener.prototype.endTopLevelField = function(beginToken, endToken) {
@@ -7256,9 +7063,8 @@ ElementListener.prototype.handleNoType = function(token) {
this.pushNode(null);
}
ElementListener.prototype.endTypeVariable = function(token) {
- var $0;
- var bound = (($0 = this.popNode()) && $0.is$TypeAnnotation());
- var name = (($0 = this.popNode()) && $0.is$Identifier());
+ var bound = this.popNode();
+ var name = this.popNode();
}
ElementListener.prototype.endTypeArguments = function(count, beginToken, endToken) {
for (; count > 0; --count) {
@@ -7284,19 +7090,15 @@ ElementListener.prototype.unexpected = function(token) {
this.canceler.cancel(("Unexpected token '" + token + "' @ " + token.charOffset + ""));
}
ElementListener.prototype.pushElement = function(element) {
- var $0;
- this.topLevelElements = (($0 = this.topLevelElements.prepend(element)) && $0.is$Link$Element());
+ this.topLevelElements = this.topLevelElements.prepend(element);
}
ElementListener.prototype.pushNode = function(node) {
- var $0;
- this.nodes = (($0 = this.nodes.prepend(node)) && $0.is$Link$Node());
+ this.nodes = this.nodes.prepend(node);
this.log(("push " + this.nodes + ""));
}
ElementListener.prototype.popNode = function() {
- var $0;
- $assert(!$notnull_bool(this.nodes.isEmpty()), "!nodes.isEmpty()", "listener.dart", 337, 12);
- var node = (($0 = this.nodes.get$head()) && $0.is$Node());
- this.nodes = (($0 = this.nodes.get$tail()) && $0.is$Link$Node());
+ var node = this.nodes.get$head();
+ this.nodes = this.nodes.get$tail();
this.log(("pop " + this.nodes + ""));
return node;
}
@@ -7304,49 +7106,49 @@ ElementListener.prototype.log = function(message) {
}
ElementListener.prototype.beginLibraryTag$1 = function($0) {
- return this.beginLibraryTag(($0 && $0.is$Token()));
+ return this.beginLibraryTag($0);
};
ElementListener.prototype.endClass$5 = function($0, $1, $2, $3, $4) {
- return this.endClass($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()), ($3 && $3.is$Token()), ($4 && $4.is$Token()));
+ return this.endClass($0, $1, $2, $3, $4);
};
ElementListener.prototype.endFunctionTypeAlias$1 = function($0) {
- return this.endFunctionTypeAlias(($0 && $0.is$Token()));
+ return this.endFunctionTypeAlias($0);
};
ElementListener.prototype.endInterface$1 = function($0) {
- return this.endInterface(($0 && $0.is$Token()));
+ return this.endInterface($0);
};
ElementListener.prototype.endTopLevelField$2 = function($0, $1) {
- return this.endTopLevelField(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endTopLevelField($0, $1);
};
ElementListener.prototype.endTopLevelMethod$2 = function($0, $1) {
- return this.endTopLevelMethod(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endTopLevelMethod($0, $1);
};
ElementListener.prototype.endTypeArguments$3 = function($0, $1, $2) {
- return this.endTypeArguments($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endTypeArguments($0, $1, $2);
};
ElementListener.prototype.endTypeVariable$1 = function($0) {
- return this.endTypeVariable(($0 && $0.is$Token()));
+ return this.endTypeVariable($0);
};
ElementListener.prototype.expected$2 = function($0, $1) {
- return this.expected($assert_String($0), ($1 && $1.is$Token()));
+ return this.expected($0, $1);
};
ElementListener.prototype.expectedBlock$1 = function($0) {
- return this.expectedBlock(($0 && $0.is$Token()));
+ return this.expectedBlock($0);
};
ElementListener.prototype.expectedIdentifier$1 = function($0) {
- return this.expectedIdentifier(($0 && $0.is$Token()));
+ return this.expectedIdentifier($0);
};
ElementListener.prototype.expectedType$1 = function($0) {
- return this.expectedType(($0 && $0.is$Token()));
+ return this.expectedType($0);
};
ElementListener.prototype.handleIdentifier$1 = function($0) {
- return this.handleIdentifier(($0 && $0.is$Token()));
+ return this.handleIdentifier($0);
};
ElementListener.prototype.handleNoType$1 = function($0) {
- return this.handleNoType(($0 && $0.is$Token()));
+ return this.handleNoType($0);
};
ElementListener.prototype.unexpected$1 = function($0) {
- return this.unexpected(($0 && $0.is$Token()));
+ return this.unexpected($0);
};
ElementListener.prototype.unexpectedEof$0 = function() {
return this.unexpectedEof();
@@ -7360,16 +7162,14 @@ function NodeListener(canceler, logger) {
}
$inherits(NodeListener, ElementListener);
NodeListener.prototype.endClass = function(interfacesCount, beginToken, extendsKeyword, implementsKeyword, endToken) {
- var $0;
var interfaces = this.makeNodeList(interfacesCount, implementsKeyword, null, ",");
- var supertype = (($0 = this.popNode()) && $0.is$TypeAnnotation());
- var name = (($0 = this.popNode()) && $0.is$Identifier());
+ var supertype = this.popNode();
+ var name = this.popNode();
this.pushNode(new ClassNode(name, supertype, interfaces, beginToken, extendsKeyword, endToken));
}
NodeListener.prototype.endFormalParameter = function(token) {
- var $0;
var name = new NodeList.singleton$ctor(this.popNode());
- var type = (($0 = this.popNode()) && $0.is$TypeAnnotation());
+ var type = this.popNode();
this.pushNode(new VariableDefinitions(type, null, name, token));
}
NodeListener.prototype.endFormalParameters = function(count, beginToken, endToken) {
@@ -7382,8 +7182,7 @@ NodeListener.prototype.handleNoArguments = function(token) {
this.pushNode(null);
}
NodeListener.prototype.endReturnStatement = function(hasExpression, beginToken, endToken) {
- var $0;
- var expression = (($0 = $notnull_bool(hasExpression) ? this.popNode() : null) && $0.is$Expression());
+ var expression = hasExpression ? this.popNode() : null;
this.pushNode(new Return(beginToken, endToken, expression));
}
NodeListener.prototype.endExpressionStatement = function(token) {
@@ -7415,8 +7214,8 @@ NodeListener.prototype.handleAssignmentExpression = function(token) {
var arguments = new NodeList.singleton$ctor(this.popNode());
var node = this.popNode();
if (!(node instanceof Send)) this.canceler.cancel(('not assignable: ' + node + ''));
- var send = (node && node.is$Send());
- if (!$notnull_bool(send.get$isPropertyAccess())) this.canceler.cancel(('not assignable: ' + node + ''));
+ var send = node;
+ if (!send.get$isPropertyAccess()) this.canceler.cancel(('not assignable: ' + node + ''));
if ((send instanceof SendSet)) this.canceler.cancel('chained assignment');
this.pushNode(new SendSet(send.receiver, send.selector, token, arguments));
}
@@ -7427,8 +7226,7 @@ NodeListener.prototype.handleConditionalExpression = function(question, colon) {
this.canceler.cancel('conditional expression not implemented yet');
}
NodeListener.prototype.endSend = function(token) {
- var $0;
- var arguments = (($0 = this.popNode()) && $0.is$NodeList());
+ var arguments = this.popNode();
var selector = this.popNode();
this.pushNode(new Send(null, selector, arguments));
}
@@ -7436,11 +7234,10 @@ NodeListener.prototype.handleVoidKeyword = function(token) {
this.pushNode(new TypeAnnotation(new Identifier(token)));
}
NodeListener.prototype.endFunctionBody = function(count, beginToken, endToken) {
- var $0;
var block = new Block(this.makeNodeList(count, beginToken, endToken, null));
var formals = this.popNode();
var name = this.popNode();
- var type = (($0 = this.popNode()) && $0.is$TypeAnnotation());
+ var type = this.popNode();
this.pushNode(new FunctionExpression(name, formals, block, type));
}
NodeListener.prototype.handleVarKeyword = function(token) {
@@ -7450,144 +7247,137 @@ NodeListener.prototype.handleFinalKeyword = function(token) {
this.pushNode(new Identifier(token));
}
NodeListener.prototype.endVariablesDeclaration = function(count, endToken) {
- var $0;
var variables = this.makeNodeList(count, null, null, ",");
- var type = (($0 = this.popNode()) && $0.is$TypeAnnotation());
+ var type = this.popNode();
this.pushNode(new VariableDefinitions(type, null, variables, endToken));
}
NodeListener.prototype.endInitializer = function(assignmentOperator) {
- var $0;
- var initializer = (($0 = this.popNode()) && $0.is$Expression());
+ var initializer = this.popNode();
var arguments = new NodeList.singleton$ctor(initializer);
- var name = (($0 = this.popNode()) && $0.is$Expression());
+ var name = this.popNode();
this.pushNode(new SendSet(null, name, assignmentOperator, arguments));
}
NodeListener.prototype.endIfStatement = function(ifToken, elseToken) {
- var $0;
- var elsePart = (($0 = (elseToken == null) ? null : this.popNode()) && $0.is$Statement());
- var thenPart = (($0 = this.popNode()) && $0.is$Statement());
- var condition = (($0 = this.popNode()) && $0.is$NodeList());
+ var elsePart = (elseToken == null) ? null : this.popNode();
+ var thenPart = this.popNode();
+ var condition = this.popNode();
this.pushNode(new If(condition, thenPart, elsePart, ifToken, elseToken));
}
NodeListener.prototype.endForStatement = function(beginToken, endToken) {
- var $0;
- var body = (($0 = this.popNode()) && $0.is$Statement());
- var update = (($0 = this.popNode()) && $0.is$Expression());
- var condition = (($0 = this.popNode()) && $0.is$ExpressionStatement());
- var initializer = (($0 = this.popNode()) && $0.is$VariableDefinitions());
+ var body = this.popNode();
+ var update = this.popNode();
+ var condition = this.popNode();
+ var initializer = this.popNode();
this.pushNode(new For(initializer, condition, update, body, beginToken));
}
NodeListener.prototype.endBlock = function(count, beginToken, endToken) {
this.pushNode(new Block(this.makeNodeList(count, beginToken, endToken, null)));
}
NodeListener.prototype.endType = function(count, beginToken, endToken) {
- var $0;
- var type = new TypeAnnotation((($0 = this.popNode()) && $0.is$Identifier()));
+ var type = new TypeAnnotation(this.popNode());
for (; count > 1; --count) {
this.popNode();
}
this.pushNode(type);
}
NodeListener.prototype.endThrowStatement = function(throwToken, endToken) {
- var $0;
- var expression = (($0 = this.popNode()) && $0.is$Expression());
+ var expression = this.popNode();
this.pushNode(new Throw(expression, throwToken, endToken));
}
NodeListener.prototype.endRethrowStatement = function(throwToken, endToken) {
this.pushNode(new Throw(null, throwToken, endToken));
}
NodeListener.prototype.makeNodeList = function(count, beginToken, endToken, delimiter) {
- var $0;
var nodes = const$14/*const EmptyLink()*/;
for (; count > 0; --count) {
- nodes = (($0 = nodes.prepend(this.popNode())) && $0.is$Link$Node());
+ nodes = nodes.prepend(this.popNode());
}
- var sourceDelimiter = (($0 = (delimiter == null) ? null : new StringWrapper(delimiter)) && $0.is$SourceString());
+ var sourceDelimiter = (delimiter == null) ? null : new StringWrapper(delimiter);
return new NodeList(beginToken, nodes, endToken, sourceDelimiter);
}
NodeListener.prototype.log = function(message) {
this.logger.log(message);
}
NodeListener.prototype.endArguments$3 = function($0, $1, $2) {
- return this.endArguments($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endArguments($0, $1, $2);
};
NodeListener.prototype.endBlock$3 = function($0, $1, $2) {
- return this.endBlock($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endBlock($0, $1, $2);
};
NodeListener.prototype.endClass$5 = function($0, $1, $2, $3, $4) {
- return this.endClass($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()), ($3 && $3.is$Token()), ($4 && $4.is$Token()));
+ return this.endClass($0, $1, $2, $3, $4);
};
NodeListener.prototype.endExpressionStatement$1 = function($0) {
- return this.endExpressionStatement(($0 && $0.is$Token()));
+ return this.endExpressionStatement($0);
};
NodeListener.prototype.endForStatement$2 = function($0, $1) {
- return this.endForStatement(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endForStatement($0, $1);
};
NodeListener.prototype.endFormalParameter$1 = function($0) {
- return this.endFormalParameter(($0 && $0.is$Token()));
+ return this.endFormalParameter($0);
};
NodeListener.prototype.endFormalParameters$3 = function($0, $1, $2) {
- return this.endFormalParameters($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endFormalParameters($0, $1, $2);
};
NodeListener.prototype.endFunctionBody$3 = function($0, $1, $2) {
- return this.endFunctionBody($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endFunctionBody($0, $1, $2);
};
NodeListener.prototype.endIfStatement$2 = function($0, $1) {
- return this.endIfStatement(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endIfStatement($0, $1);
};
NodeListener.prototype.endInitializer$1 = function($0) {
- return this.endInitializer(($0 && $0.is$Token()));
+ return this.endInitializer($0);
};
NodeListener.prototype.endRethrowStatement$2 = function($0, $1) {
- return this.endRethrowStatement(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endRethrowStatement($0, $1);
};
NodeListener.prototype.endReturnStatement$3 = function($0, $1, $2) {
- return this.endReturnStatement($assert_bool($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endReturnStatement($0, $1, $2);
};
NodeListener.prototype.endSend$1 = function($0) {
- return this.endSend(($0 && $0.is$Token()));
+ return this.endSend($0);
};
NodeListener.prototype.endThrowStatement$2 = function($0, $1) {
- return this.endThrowStatement(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.endThrowStatement($0, $1);
};
NodeListener.prototype.endType$3 = function($0, $1, $2) {
- return this.endType($assert_num($0), ($1 && $1.is$Token()), ($2 && $2.is$Token()));
+ return this.endType($0, $1, $2);
};
NodeListener.prototype.endVariablesDeclaration$2 = function($0, $1) {
- return this.endVariablesDeclaration($assert_num($0), ($1 && $1.is$Token()));
+ return this.endVariablesDeclaration($0, $1);
};
NodeListener.prototype.handleAssignmentExpression$1 = function($0) {
- return this.handleAssignmentExpression(($0 && $0.is$Token()));
+ return this.handleAssignmentExpression($0);
};
NodeListener.prototype.handleBinaryExpression$1 = function($0) {
- return this.handleBinaryExpression(($0 && $0.is$Token()));
+ return this.handleBinaryExpression($0);
};
NodeListener.prototype.handleConditionalExpression$2 = function($0, $1) {
- return this.handleConditionalExpression(($0 && $0.is$Token()), ($1 && $1.is$Token()));
+ return this.handleConditionalExpression($0, $1);
};
NodeListener.prototype.handleFinalKeyword$1 = function($0) {
- return this.handleFinalKeyword(($0 && $0.is$Token()));
+ return this.handleFinalKeyword($0);
};
NodeListener.prototype.handleLiteralBool$1 = function($0) {
- return this.handleLiteralBool(($0 && $0.is$Token()));
+ return this.handleLiteralBool($0);
};
NodeListener.prototype.handleLiteralDouble$1 = function($0) {
- return this.handleLiteralDouble(($0 && $0.is$Token()));
+ return this.handleLiteralDouble($0);
};
NodeListener.prototype.handleLiteralInt$1 = function($0) {
- return this.handleLiteralInt(($0 && $0.is$Token()));
+ return this.handleLiteralInt($0);
};
NodeListener.prototype.handleLiteralString$1 = function($0) {
- return this.handleLiteralString(($0 && $0.is$Token()));
+ return this.handleLiteralString($0);
};
NodeListener.prototype.handleNoArguments$1 = function($0) {
- return this.handleNoArguments(($0 && $0.is$Token()));
+ return this.handleNoArguments($0);
};
NodeListener.prototype.handleVarKeyword$1 = function($0) {
- return this.handleVarKeyword(($0 && $0.is$Token()));
+ return this.handleVarKeyword($0);
};
NodeListener.prototype.handleVoidKeyword$1 = function($0) {
- return this.handleVoidKeyword(($0 && $0.is$Token()));
+ return this.handleVoidKeyword($0);
};
// ********** Code for PartialFunctionElement **************
function PartialFunctionElement(name, beginToken, endToken) {
@@ -7599,12 +7389,11 @@ function PartialFunctionElement(name, beginToken, endToken) {
$inherits(PartialFunctionElement, FunctionElement);
PartialFunctionElement.prototype.parseNode = function(canceler, logger) {
var $this = this; // closure support
- var $0;
if (this.node != null) return this.node;
- this.node = (($0 = parse(canceler, logger, (function (p) {
+ this.node = parse(canceler, logger, (function (p) {
return p.parseFunction$1($this.beginToken);
})
- )) && $0.is$FunctionExpression());
+ );
return this.node;
}
// ********** Code for PartialClassElement **************
@@ -7617,12 +7406,11 @@ function PartialClassElement(name, beginToken, endToken) {
$inherits(PartialClassElement, ClassElement);
PartialClassElement.prototype.parseNode = function(canceler, logger) {
var $this = this; // closure support
- var $0;
if (this.node != null) return this.node;
- this.node = (($0 = parse(canceler, logger, (function (p) {
+ this.node = parse(canceler, logger, (function (p) {
return p.parseClass$1($this.beginToken);
})
- )) && $0.is$ClassNode());
+ );
return this.node;
}
// ********** Code for StringScanner **************
@@ -7639,7 +7427,7 @@ StringScanner.prototype.peek = function() {
return this.charAt(this.byteOffset + 1);
}
StringScanner.prototype.charAt = function(index) {
- return (this.string.length > $assert_num(index)) ? this.string.charCodeAt($assert_num(index)) : -1;
+ return (this.string.length > index) ? this.string.charCodeAt(index) : -1;
}
StringScanner.prototype.asciiString = function(start) {
return new SubstringWrapper(this.string, start, this.byteOffset);
@@ -7651,9 +7439,6 @@ StringScanner.prototype.appendByteStringToken = function(kind, value) {
this.tail.next = new StringToken.fromSource$ctor(kind, value, this.tokenStart);
this.tail = this.tail.next;
}
-StringScanner.prototype.appendByteStringToken$2 = function($0, $1) {
- return this.appendByteStringToken($assert_num($0), ($1 && $1.is$SourceString()));
-};
// ********** Code for SubstringWrapper **************
function SubstringWrapper(internalString, begin, end) {
this.internalString = internalString;
@@ -7681,7 +7466,7 @@ SubstringWrapper.prototype.hashCode$0 = function() {
return this.hashCode();
};
SubstringWrapper.prototype.printOn$1 = function($0) {
- return this.printOn(($0 && $0.is$StringBuffer()));
+ return this.printOn($0);
};
SubstringWrapper.prototype.toString$0 = function() {
return this.toString();
@@ -7692,7 +7477,6 @@ function Token(kind, charOffset) {
this.charOffset = charOffset;
// Initializers done
}
-Token.prototype.is$Token = function(){return this;};
Token.prototype.get$charOffset = function() { return this.charOffset; };
Token.prototype.get$value = function() {
return const$234/*const SourceString('EOF')*/;
@@ -7773,7 +7557,7 @@ StringWrapper.prototype.hashCode$0 = function() {
return this.hashCode();
};
StringWrapper.prototype.printOn$1 = function($0) {
- return this.printOn(($0 && $0.is$StringBuffer()));
+ return this.printOn($0);
};
StringWrapper.prototype.toString$0 = function() {
return this.toString();
@@ -7784,7 +7568,6 @@ function BeginGroupToken(kind, value, charOffset) {
// Initializers done
}
$inherits(BeginGroupToken, StringToken);
-BeginGroupToken.prototype.is$BeginGroupToken = function(){return this;};
// ********** Code for Keyword **************
function Keyword(syntax, isPseudo) {
this.syntax = syntax;
@@ -7825,14 +7608,13 @@ Keyword.prototype.hashCode$0 = function() {
return this.hashCode();
};
Keyword.prototype.printOn$1 = function($0) {
- return this.printOn(($0 && $0.is$StringBuffer()));
+ return this.printOn($0);
};
Keyword.prototype.toString$0 = function() {
return this.toString();
};
// ********** Code for KeywordState **************
function KeywordState() {}
-KeywordState.prototype.is$KeywordState = function(){return this;};
KeywordState.get$KEYWORD_STATE = function() {
if (KeywordState._KEYWORD_STATE == null) {
var strings = new ListFactory(const$232/*Keyword.values*/.get$length());
@@ -7850,7 +7632,6 @@ KeywordState.get$KEYWORD_STATE = function() {
}
KeywordState.computeKeywordStateTable = function(start, strings, offset, length) {
var result = new ListFactory(26);
- $assert(length != 0, "length != 0", "keyword.dart", 161, 12);
var chunk = 0;
var chunkStart = -1;
for (var i = offset;
@@ -7870,8 +7651,7 @@ KeywordState.computeKeywordStateTable = function(start, strings, offset, length)
result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordStateTable(start + 1, strings, chunkStart, offset + length - chunkStart));
}
else {
- $assert(length == 1, "length == 1", "keyword.dart", 183, 14);
- return new LeafKeywordState($assert_String(strings.$index(offset)));
+ return new LeafKeywordState(strings.$index(offset));
}
return new ArrayKeywordState(result);
}
@@ -7885,8 +7665,7 @@ ArrayKeywordState.prototype.isLeaf = function() {
return false;
}
ArrayKeywordState.prototype.next = function(c) {
- var $0;
- return (($0 = this.table.$index(c - 97/*null.$a*/)) && $0.is$KeywordState());
+ return this.table.$index(c - 97/*null.$a*/);
}
ArrayKeywordState.prototype.get$keyword = function() {
$throw("should not be called");
@@ -7897,7 +7676,7 @@ ArrayKeywordState.prototype.toString = function() {
var foo = this.table;
for (var i = 0;
i < foo.length; i++) {
- if ($notnull_bool($ne(foo.$index(i), null))) {
+ if ($ne(foo.$index(i), null)) {
sb.add(("" + (i + 97/*null.$a*/) + ": " + foo.$index(i) + "; "));
}
}
@@ -7938,7 +7717,6 @@ function parse(canceler, logger, doParse) {
// ********** Library tree **************
// ********** Code for Node **************
function Node() {}
-Node.prototype.is$Node = function(){return this;};
Node.prototype.hashCode = function() {
return this._hashCode;
}
@@ -7958,7 +7736,7 @@ Node.prototype.unparse = function() {
}
}
Node.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
Node.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -7983,7 +7761,6 @@ function ClassNode(name, superclass, interfaces, beginToken, extendsKeyword, end
// Initializers done
}
$inherits(ClassNode, Node);
-ClassNode.prototype.is$ClassNode = function(){return this;};
ClassNode.prototype.get$name = function() { return this.name; };
ClassNode.prototype.get$interfaces = function() { return this.interfaces; };
ClassNode.prototype.accept = function(visitor) {
@@ -7993,7 +7770,7 @@ ClassNode.prototype.get$isInterface = function() {
return this.beginToken.get$stringValue() === 'interface';
}
ClassNode.prototype.get$isClass = function() {
- return !$notnull_bool(this.get$isInterface());
+ return !this.get$isInterface();
}
ClassNode.prototype.getBeginToken = function() {
return this.beginToken;
@@ -8002,7 +7779,7 @@ ClassNode.prototype.getEndToken = function() {
return this.endToken;
}
ClassNode.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
ClassNode.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8013,11 +7790,9 @@ ClassNode.prototype.getEndToken$0 = function() {
// ********** Code for Expression **************
function Expression() {}
$inherits(Expression, Node);
-Expression.prototype.is$Expression = function(){return this;};
// ********** Code for Statement **************
function Statement() {}
$inherits(Statement, Node);
-Statement.prototype.is$Statement = function(){return this;};
// ********** Code for Send **************
function Send(receiver, selector, argumentsNode) {
this.receiver = receiver;
@@ -8026,7 +7801,6 @@ function Send(receiver, selector, argumentsNode) {
// Initializers done
}
$inherits(Send, Expression);
-Send.prototype.is$Send = function(){return this;};
Send.prototype.get$arguments = function() {
return this.argumentsNode.nodes;
}
@@ -8046,17 +7820,16 @@ Send.prototype.getBeginToken = function() {
return firstBeginToken(this.receiver, this.selector);
}
Send.prototype.getEndToken = function() {
- var $0;
var token;
if (this.argumentsNode != null) token = this.argumentsNode.getEndToken();
if (token != null) return token;
if (this.selector != null) {
- return (($0 = this.selector.getEndToken()) && $0.is$Token());
+ return this.selector.getEndToken();
}
- return (($0 = this.receiver.getBeginToken()) && $0.is$Token());
+ return this.receiver.getBeginToken();
}
Send.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
Send.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8071,12 +7844,11 @@ function SendSet(receiver, selector, assignmentOperator, argumentsNode) {
// Initializers done
}
$inherits(SendSet, Send);
-SendSet.prototype.is$SendSet = function(){return this;};
SendSet.prototype.accept = function(visitor) {
return visitor.visitSendSet(this);
}
SendSet.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
// ********** Code for NodeList **************
function NodeList(beginToken, nodes, endToken, delimiter) {
@@ -8092,39 +7864,36 @@ NodeList.singleton$ctor = function(node) {
}
NodeList.singleton$ctor.prototype = NodeList.prototype;
$inherits(NodeList, Node);
-NodeList.prototype.is$NodeList = function(){return this;};
NodeList.prototype.accept = function(visitor) {
return visitor.visitNodeList(this);
}
NodeList.prototype.getBeginToken = function() {
- var $0;
if (this.beginToken != null) return this.beginToken;
if (this.nodes != null) {
for (var link = this.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
+ !link.isEmpty(); link = link.get$tail()) {
if (link.get$head().getBeginToken$0() != null) {
- return (($0 = link.get$head().getBeginToken$0()) && $0.is$Token());
+ return link.get$head().getBeginToken$0();
}
if (link.get$head().getEndToken$0() != null) {
- return (($0 = link.get$head().getEndToken$0()) && $0.is$Token());
+ return link.get$head().getEndToken$0();
}
}
}
return this.endToken;
}
NodeList.prototype.getEndToken = function() {
- var $0;
if (this.endToken != null) return this.endToken;
if (this.nodes != null) {
var link = this.nodes;
- while (!$notnull_bool(link.get$tail().isEmpty$0())) link = (($0 = link.get$tail()) && $0.is$Link$Node());
- if (link.get$head().getEndToken$0() != null) return (($0 = link.get$head().getEndToken$0()) && $0.is$Token());
- if (link.get$head().getBeginToken$0() != null) return (($0 = link.get$head().getBeginToken$0()) && $0.is$Token());
+ while (!link.get$tail().isEmpty$0()) link = link.get$tail();
+ if (link.get$head().getEndToken$0() != null) return link.get$head().getEndToken$0();
+ if (link.get$head().getBeginToken$0() != null) return link.get$head().getBeginToken$0();
}
return this.beginToken;
}
NodeList.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
NodeList.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8148,7 +7917,7 @@ Block.prototype.getEndToken = function() {
return this.statements.getEndToken();
}
Block.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
Block.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8180,7 +7949,7 @@ If.prototype.getEndToken = function() {
return this.elsePart.getEndToken();
}
If.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
If.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8208,7 +7977,7 @@ For.prototype.getEndToken = function() {
return this.body.getEndToken();
}
For.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
For.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8225,7 +7994,6 @@ function FunctionExpression(name, parameters, body, returnType) {
// Initializers done
}
$inherits(FunctionExpression, Expression);
-FunctionExpression.prototype.is$FunctionExpression = function(){return this;};
FunctionExpression.prototype.get$name = function() { return this.name; };
FunctionExpression.prototype.get$parameters = function() { return this.parameters; };
FunctionExpression.prototype.get$returnType = function() { return this.returnType; };
@@ -8239,7 +8007,7 @@ FunctionExpression.prototype.getEndToken = function() {
return this.body.getEndToken();
}
FunctionExpression.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
FunctionExpression.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8313,7 +8081,7 @@ LiteralInt.prototype.accept = function(visitor) {
return visitor.visitLiteralInt(this);
}
LiteralInt.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
// ********** Code for LiteralDouble **************
function LiteralDouble(token, handler) {
@@ -8334,7 +8102,7 @@ LiteralDouble.prototype.accept = function(visitor) {
return visitor.visitLiteralDouble(this);
}
LiteralDouble.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
// ********** Code for LiteralBool **************
function LiteralBool(token, handler) {
@@ -8362,7 +8130,7 @@ LiteralBool.prototype.accept = function(visitor) {
return visitor.visitLiteralBool(this);
}
LiteralBool.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
// ********** Code for LiteralString **************
function LiteralString(token) {
@@ -8370,16 +8138,14 @@ function LiteralString(token) {
// Initializers done
}
$inherits(LiteralString, Literal$SourceString);
-LiteralString.prototype.is$LiteralString = function(){return this;};
LiteralString.prototype.get$value = function() {
- var $0;
- return (($0 = this.token.get$value()) && $0.is$SourceString());
+ return this.token.get$value();
}
LiteralString.prototype.accept = function(visitor) {
return visitor.visitLiteralString(this);
}
LiteralString.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
// ********** Code for Identifier **************
function Identifier(token) {
@@ -8387,10 +8153,8 @@ function Identifier(token) {
// Initializers done
}
$inherits(Identifier, Expression);
-Identifier.prototype.is$Identifier = function(){return this;};
Identifier.prototype.get$source = function() {
- var $0;
- return (($0 = this.token.get$value()) && $0.is$SourceString());
+ return this.token.get$value();
}
Identifier.prototype.accept = function(visitor) {
return visitor.visitIdentifier(this);
@@ -8402,7 +8166,7 @@ Identifier.prototype.getEndToken = function() {
return this.token;
}
Identifier.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
Identifier.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8416,12 +8180,11 @@ function Operator(token) {
// Initializers done
}
$inherits(Operator, Identifier);
-Operator.prototype.is$Operator = function(){return this;};
Operator.prototype.accept = function(visitor) {
return visitor.visitOperator(this);
}
Operator.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
// ********** Code for Return **************
function Return(beginToken, endToken, expression) {
@@ -8444,7 +8207,7 @@ Return.prototype.getEndToken = function() {
return this.endToken;
}
Return.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
Return.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8459,19 +8222,17 @@ function ExpressionStatement(expression, endToken) {
// Initializers done
}
$inherits(ExpressionStatement, Statement);
-ExpressionStatement.prototype.is$ExpressionStatement = function(){return this;};
ExpressionStatement.prototype.accept = function(visitor) {
return visitor.visitExpressionStatement(this);
}
ExpressionStatement.prototype.getBeginToken = function() {
- var $0;
- return (($0 = this.expression.getBeginToken()) && $0.is$Token());
+ return this.expression.getBeginToken();
}
ExpressionStatement.prototype.getEndToken = function() {
return this.endToken;
}
ExpressionStatement.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
ExpressionStatement.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8497,7 +8258,7 @@ Throw.prototype.getEndToken = function() {
return this.endToken;
}
Throw.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
Throw.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8511,21 +8272,18 @@ function TypeAnnotation(typeName) {
// Initializers done
}
$inherits(TypeAnnotation, Node);
-TypeAnnotation.prototype.is$TypeAnnotation = function(){return this;};
TypeAnnotation.prototype.get$typeName = function() { return this.typeName; };
TypeAnnotation.prototype.accept = function(visitor) {
return visitor.visitTypeAnnotation(this);
}
TypeAnnotation.prototype.getBeginToken = function() {
- var $0;
- return (($0 = this.typeName.getBeginToken()) && $0.is$Token());
+ return this.typeName.getBeginToken();
}
TypeAnnotation.prototype.getEndToken = function() {
- var $0;
- return (($0 = this.typeName.getEndToken()) && $0.is$Token());
+ return this.typeName.getEndToken();
}
TypeAnnotation.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
TypeAnnotation.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8542,8 +8300,6 @@ function VariableDefinitions(type, modifiers, definitions, endToken) {
// Initializers done
}
$inherits(VariableDefinitions, Statement);
-VariableDefinitions.prototype.is$VariableDefinitions = function(){return this;};
-VariableDefinitions.prototype.get$type = function() { return this.type; };
VariableDefinitions.prototype.accept = function(visitor) {
return visitor.visitVariableDefinitions(this);
}
@@ -8554,7 +8310,7 @@ VariableDefinitions.prototype.getEndToken = function() {
return this.endToken;
}
VariableDefinitions.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$Visitor()));
+ return this.accept($0);
};
VariableDefinitions.prototype.getBeginToken$0 = function() {
return this.getBeginToken();
@@ -8567,7 +8323,6 @@ function Unparser(printDebugInfo) {
this.printDebugInfo = printDebugInfo;
// Initializers done
}
-Unparser.prototype.is$Visitor = function(){return this;};
Unparser.prototype.unparse = function(node) {
this.sb = new StringBufferImpl("");
this.visit(node);
@@ -8578,11 +8333,11 @@ Unparser.prototype.add = function(string) {
}
Unparser.prototype.visit = function(node) {
if (node != null) {
- if ($notnull_bool(this.printDebugInfo)) this.sb.add(('[' + node.getObjectDescription() + ': '));
+ if (this.printDebugInfo) this.sb.add(('[' + node.getObjectDescription() + ': '));
node.accept(this);
- if ($notnull_bool(this.printDebugInfo)) this.sb.add(']');
+ if (this.printDebugInfo) this.sb.add(']');
}
- else if ($notnull_bool(this.printDebugInfo)) {
+ else if (this.printDebugInfo) {
this.sb.add('[null]');
}
}
@@ -8590,9 +8345,8 @@ Unparser.prototype.visitBlock = function(node) {
this.visit(node.statements);
}
Unparser.prototype.visitExpressionStatement = function(node) {
- var $0;
this.visit(node.expression);
- this.add((($0 = node.endToken.get$value()) && $0.is$SourceString()));
+ this.add(node.endToken.get$value());
}
Unparser.prototype.visitFor = function(node) {
node.forToken.get$value().printOn$1(this.sb);
@@ -8613,54 +8367,46 @@ Unparser.prototype.visitFunctionExpression = function(node) {
this.visit(node.body);
}
Unparser.prototype.visitIdentifier = function(node) {
- var $0;
- this.add((($0 = node.token.get$value()) && $0.is$SourceString()));
+ this.add(node.token.get$value());
}
Unparser.prototype.visitIf = function(node) {
- var $0;
- this.add((($0 = node.ifToken.get$value()) && $0.is$SourceString()));
+ this.add(node.ifToken.get$value());
this.visit(node.condition);
this.visit(node.thenPart);
- if ($notnull_bool(node.get$hasElsePart())) {
- this.add((($0 = node.elseToken.get$value()) && $0.is$SourceString()));
+ if (node.get$hasElsePart()) {
+ this.add(node.elseToken.get$value());
this.visit(node.elsePart);
}
}
Unparser.prototype.visitLiteralBool = function(node) {
- var $0;
- this.add((($0 = node.token.get$value()) && $0.is$SourceString()));
+ this.add(node.token.get$value());
}
Unparser.prototype.visitLiteralDouble = function(node) {
- var $0;
- this.add((($0 = node.token.get$value()) && $0.is$SourceString()));
+ this.add(node.token.get$value());
}
Unparser.prototype.visitLiteralInt = function(node) {
- var $0;
- this.add((($0 = node.token.get$value()) && $0.is$SourceString()));
+ this.add(node.token.get$value());
}
Unparser.prototype.visitLiteralString = function(node) {
- var $0;
- this.add((($0 = node.token.get$value()) && $0.is$SourceString()));
+ this.add(node.token.get$value());
}
Unparser.prototype.visitNodeList = function(node) {
- var $0;
- if (node.beginToken != null) this.add((($0 = node.beginToken.get$value()) && $0.is$SourceString()));
+ if (node.beginToken != null) this.add(node.beginToken.get$value());
if (node.nodes != null) {
node.nodes.printOn(this.sb, node.delimiter);
}
- if (node.endToken != null) this.add((($0 = node.endToken.get$value()) && $0.is$SourceString()));
+ if (node.endToken != null) this.add(node.endToken.get$value());
}
Unparser.prototype.visitOperator = function(node) {
this.visitIdentifier(node);
}
Unparser.prototype.visitReturn = function(node) {
- var $0;
- this.add((($0 = node.beginToken.get$value()) && $0.is$SourceString()));
- if ($notnull_bool(node.get$hasExpression())) {
+ this.add(node.beginToken.get$value());
+ if (node.get$hasExpression()) {
this.sb.add(' ');
this.visit(node.expression);
}
- this.add((($0 = node.endToken.get$value()) && $0.is$SourceString()));
+ this.add(node.endToken.get$value());
}
Unparser.prototype.visitSend = function(node) {
if (node.receiver != null) {
@@ -8671,13 +8417,12 @@ Unparser.prototype.visitSend = function(node) {
this.visit(node.argumentsNode);
}
Unparser.prototype.visitSendSet = function(node) {
- var $0;
if (node.receiver != null) {
this.visit(node.receiver);
this.sb.add('.');
}
this.visit(node.selector);
- this.add((($0 = node.assignmentOperator.get$value()) && $0.is$SourceString()));
+ this.add(node.assignmentOperator.get$value());
this.visit(node.argumentsNode);
}
Unparser.prototype.visitThrow = function(node) {
@@ -8691,7 +8436,6 @@ Unparser.prototype.visitTypeAnnotation = function(node) {
this.visit(node.typeName);
}
Unparser.prototype.visitVariableDefinitions = function(node) {
- var $0;
if (node.type != null) {
this.visit(node.type);
}
@@ -8700,18 +8444,17 @@ Unparser.prototype.visitVariableDefinitions = function(node) {
}
this.sb.add(' ');
this.visit(node.definitions);
- if (node.endToken != null) this.add((($0 = node.endToken.get$value()) && $0.is$SourceString()));
+ if (node.endToken != null) this.add(node.endToken.get$value());
}
Unparser.prototype.add$1 = function($0) {
- return this.add(($0 && $0.is$SourceString()));
+ return this.add($0);
};
Unparser.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$Node()));
+ return this.visit($0);
};
// ********** Code for top level **************
function firstBeginToken(first, second) {
- var $0;
- return (($0 = (first != null) ? first.getBeginToken() : second.getBeginToken()) && $0.is$Token());
+ return (first != null) ? first.getBeginToken() : second.getBeginToken();
}
// ********** Library elements **************
// ********** Code for ElementKind **************
@@ -8726,13 +8469,12 @@ function Element(name, kind, enclosingElement) {
this.enclosingElement = enclosingElement;
// Initializers done
}
-Element.prototype.is$Element = function(){return this;};
Element.prototype.get$name = function() { return this.name; };
Element.prototype.hashCode = function() {
return this.name.hashCode();
}
Element.prototype.computeType$2 = function($0, $1) {
- return this.computeType(($0 && $0.is$Compiler()), ($1 && $1.is$Types()));
+ return this.computeType($0, $1);
};
Element.prototype.hashCode$0 = function() {
return this.hashCode();
@@ -8745,8 +8487,6 @@ function VariableElement(node, typeAnnotation, name, enclosingElement) {
// Initializers done
}
$inherits(VariableElement, Element);
-VariableElement.prototype.get$type = function() { return this.type; };
-VariableElement.prototype.set$type = function(value) { return this.type = value; };
VariableElement.prototype.parseNode = function(canceler, logger) {
return this.node;
}
@@ -8754,7 +8494,7 @@ VariableElement.prototype.computeType = function(compiler, types) {
return getType(this.typeAnnotation, types);
}
VariableElement.prototype.computeType$2 = function($0, $1) {
- return this.computeType(($0 && $0.is$Compiler()), ($1 && $1.is$Types()));
+ return this.computeType($0, $1);
};
// ********** Code for ForeignElement **************
function ForeignElement(name) {
@@ -8766,7 +8506,7 @@ ForeignElement.prototype.computeType = function(compiler, types) {
return types.dynamicType;
}
ForeignElement.prototype.computeType$2 = function($0, $1) {
- return this.computeType(($0 && $0.is$Compiler()), ($1 && $1.is$Types()));
+ return this.computeType($0, $1);
};
// ********** Code for FunctionElement **************
function FunctionElement(name) {
@@ -8774,24 +8514,23 @@ function FunctionElement(name) {
// Initializers done
}
$inherits(FunctionElement, Element);
-FunctionElement.prototype.get$type = function() { return this.type; };
-FunctionElement.prototype.set$type = function(value) { return this.type = value; };
FunctionElement.prototype.computeType = function(compiler, types) {
- var $0;
- if (this.type != null) return (($0 = this.type) && $0.is$FunctionType());
- var node = (($0 = this.parseNode(compiler, compiler)) && $0.is$FunctionExpression());
+ if (this.type != null) return this.type;
+ var node = this.parseNode(compiler, compiler);
var returnType = getType(node.returnType, types);
if (returnType == null) compiler.cancel(('unknown type ' + returnType + ''));
var parameterTypes = new LinkBuilderImplementation();
for (var link = node.parameters.nodes;
- !$notnull_bool(link.isEmpty$0()); link = link.get$tail()) {
- var parameter = (($0 = link.get$head()) && $0.is$VariableDefinitions());
+ !link.isEmpty$0(); link = link.get$tail()) {
+ var parameter = link.get$head();
parameterTypes.addLast(getType(parameter.type, types));
}
- this.type = new FunctionType(returnType, (($0 = parameterTypes.toLink()) && $0.is$Link$Type()));
- return (($0 = this.type) && $0.is$FunctionType());
+ this.type = new FunctionType(returnType, parameterTypes.toLink());
+ return this.type;
}
-FunctionElement.prototype.computeType$2 = FunctionElement.prototype.computeType;
+FunctionElement.prototype.computeType$2 = function($0, $1) {
+ return this.computeType($0, $1);
+};
// ********** Code for ClassElement **************
function ClassElement(name) {
this.interfaces = const$14/*const EmptyLink()*/
@@ -8800,9 +8539,6 @@ function ClassElement(name) {
// Initializers done
}
$inherits(ClassElement, Element);
-ClassElement.prototype.is$ClassElement = function(){return this;};
-ClassElement.prototype.get$type = function() { return this.type; };
-ClassElement.prototype.set$type = function(value) { return this.type = value; };
ClassElement.prototype.get$interfaces = function() { return this.interfaces; };
ClassElement.prototype.set$interfaces = function(value) { return this.interfaces = value; };
ClassElement.prototype.computeType = function(compiler, types) {
@@ -8812,21 +8548,22 @@ ClassElement.prototype.computeType = function(compiler, types) {
return this.type;
}
ClassElement.prototype.resolve = function(compiler) {
- if ($notnull_bool(this.isResolved)) return;
+ if (this.isResolved) return;
compiler.resolveType(this);
this.isResolved = true;
}
-ClassElement.prototype.computeType$2 = ClassElement.prototype.computeType;
+ClassElement.prototype.computeType$2 = function($0, $1) {
+ return this.computeType($0, $1);
+};
ClassElement.prototype.resolve$1 = function($0) {
- return this.resolve(($0 && $0.is$Compiler()));
+ return this.resolve($0);
};
// ********** Code for top level **************
function getType(annotation, types) {
- var $0;
if (annotation == null || annotation.typeName == null) {
- return (($0 = types.dynamicType) && $0.is$Type());
+ return types.dynamicType;
}
- return (($0 = types.lookup$1(annotation.typeName.get$source())) && $0.is$Type());
+ return types.lookup$1(annotation.typeName.get$source());
}
// ********** Library ssa **************
// ********** Code for SsaBuilderTask **************
@@ -8840,20 +8577,17 @@ SsaBuilderTask.prototype.get$name = function() {
}
SsaBuilderTask.prototype.build = function(tree, elements) {
var $this = this; // closure support
- var $0;
- return (($0 = this.measure((function () {
- var $0;
- var function_ = (tree && tree.is$FunctionExpression());
+ return this.measure((function () {
+ var function_ = tree;
var graph = $this.compileMethod(function_.parameters, function_.body, elements);
- $assert(graph.isValid(), "graph.isValid()", "builder.dart", 14, 14);
if (false/*null.GENERATE_SSA_TRACE*/) {
- var name = (($0 = function_.name) && $0.is$Identifier());
+ var name = function_.name;
HTracer.HTracer$singleton$factory().traceCompilation(name.get$source().toString());
HTracer.HTracer$singleton$factory().traceGraph('builder', graph);
}
return graph;
})
- )) && $0.is$HGraph());
+ );
}
SsaBuilderTask.prototype.compileMethod = function(parameters, body, elements) {
var builder = new SsaBuilder(this.compiler, elements);
@@ -8866,7 +8600,6 @@ function SsaBuilder(compiler, elements) {
this.elements = elements;
// Initializers done
}
-SsaBuilder.prototype.is$Visitor = function(){return this;};
SsaBuilder.prototype.build = function(parameters, body) {
this.stack = new ListFactory();
this.definitions = new HashMapImplementation();
@@ -8877,7 +8610,7 @@ SsaBuilder.prototype.build = function(parameters, body) {
this.close(new HGoto()).addSuccessor(block);
this.open(block);
body.accept(this);
- if (!$notnull_bool(this.isAborted())) this.close(new HGoto()).addSuccessor(this.graph.exit);
+ if (!this.isAborted()) this.close(new HGoto()).addSuccessor(this.graph.exit);
this.graph.finalize();
return this.graph;
}
@@ -8906,41 +8639,36 @@ SsaBuilder.prototype.push = function(instruction) {
this.stack.add(instruction);
}
SsaBuilder.prototype.pop = function() {
- var $0;
- return (($0 = this.stack.removeLast()) && $0.is$HInstruction());
+ return this.stack.removeLast();
}
SsaBuilder.prototype.visit = function(node) {
if (node != null) node.accept(this);
}
SsaBuilder.prototype.visitParameters = function(parameters) {
- var $0;
var parameterIndex = 0;
for (var link = parameters.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- var container = (($0 = link.get$head()) && $0.is$VariableDefinitions());
+ !link.isEmpty(); link = link.get$tail()) {
+ var container = link.get$head();
var identifierLink = container.definitions.nodes;
- $assert(!$notnull_bool(identifierLink.isEmpty()) && $notnull_bool(identifierLink.get$tail().isEmpty$0()), "!identifierLink.isEmpty() && identifierLink.tail.isEmpty()", "builder.dart", 115, 14);
if (!(identifierLink.get$head() instanceof Identifier)) {
this.compiler.unimplemented("SsaBuilder.visitParameters non-identifier");
}
- var parameterId = (($0 = identifierLink.get$head()) && $0.is$Identifier());
- var element = (($0 = this.elements.$index(parameterId)) && $0.is$Element());
+ var parameterId = identifierLink.get$head();
+ var element = this.elements.$index(parameterId);
var parameterInstruction = new HParameter(parameterIndex++);
this.definitions.$setindex(element, parameterInstruction);
this.add(parameterInstruction);
}
}
SsaBuilder.prototype.visitBlock = function(node) {
- var $0;
for (var link = node.statements.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- this.visit((($0 = link.get$head()) && $0.is$Node()));
- if ($notnull_bool(this.isAborted())) {
+ !link.isEmpty(); link = link.get$tail()) {
+ this.visit(link.get$head());
+ if (this.isAborted()) {
if (!this.stack.isEmpty()) this.compiler.cancel('non-empty instruction stack');
return;
}
}
- $assert(!$notnull_bool(this.current.isClosed()), "!current.isClosed()", "builder.dart", 138, 12);
if (!this.stack.isEmpty()) this.compiler.cancel('non-empty instruction stack');
}
SsaBuilder.prototype.visitClassNode = function(node) {
@@ -8952,9 +8680,7 @@ SsaBuilder.prototype.visitExpressionStatement = function(node) {
}
SsaBuilder.prototype.visitFor = function(node) {
var $this = this; // closure support
- $assert(node.initializer != null && node.condition != null && node.update != null && node.body != null, "node.initializer !== null && node.condition !== null &&\n node.update !== null && node.body !== null", "builder.dart", 152, 12);
this.visit(node.initializer);
- $assert(!$notnull_bool(this.isAborted()), "!isAborted()", "builder.dart", 156, 12);
var initializerBlock = this.close(new HGoto());
var initializerDefinitions = HashMapImplementation.HashMapImplementation$from$factory(this.definitions);
var conditionBlock = this.graph.addNewBlock();
@@ -8974,7 +8700,7 @@ SsaBuilder.prototype.visitFor = function(node) {
conditionExitBlock.addSuccessor(bodyBlock);
this.open(bodyBlock);
this.visit(node.body);
- if ($notnull_bool(this.isAborted())) {
+ if (this.isAborted()) {
this.compiler.unimplemented("SsaBuilder for loop with aborting body");
}
bodyBlock = this.close(new HGoto());
@@ -8982,20 +8708,17 @@ SsaBuilder.prototype.visitFor = function(node) {
bodyBlock.addSuccessor(updateBlock);
this.open(updateBlock);
this.visit(node.update);
- $assert(!$notnull_bool(this.isAborted()), "!isAborted()", "builder.dart", 195, 12);
var updateInstruction = this.pop();
updateBlock = this.close(new HGoto());
updateBlock.addSuccessor(conditionBlock);
conditionBlock.forEachPhi((function (phi) {
- var $0;
var element = phi.element;
- var postBodyDefinition = (($0 = $this.definitions.$index(element)) && $0.is$HInstruction());
+ var postBodyDefinition = $this.definitions.$index(element);
if (postBodyDefinition !== phi) {
phi.addInput(postBodyDefinition);
}
else {
- $assert(phi.inputs.length == 1, "phi.inputs.length == 1", "builder.dart", 212, 16);
- var input = (($0 = phi.inputs.$index(0)) && $0.is$HInstruction());
+ var input = phi.inputs.$index(0);
conditionBlock.rewrite(phi, input);
conditionBlock.remove(phi);
if (conditionDefinitions.$index(element) === phi) {
@@ -9013,11 +8736,9 @@ SsaBuilder.prototype.visitFunctionExpression = function(node) {
this.compiler.unimplemented('SsaBuilder.visitFunctionExpression');
}
SsaBuilder.prototype.visitIdentifier = function(node) {
- var $0;
- var element = (($0 = this.elements.$index(node)) && $0.is$Element());
+ var element = this.elements.$index(node);
this.compiler.ensure(element != null);
- var def = (($0 = this.definitions.$index(element)) && $0.is$HInstruction());
- $assert(def != null, "def !== null", "builder.dart", 240, 12);
+ var def = this.definitions.$index(element);
this.stack.add(def);
}
SsaBuilder.prototype.joinDefinitions = function(joinBlock, incoming1, incoming2) {
@@ -9025,10 +8746,8 @@ SsaBuilder.prototype.joinDefinitions = function(joinBlock, incoming1, incoming2)
return this.joinDefinitions(joinBlock, incoming2, incoming1);
}
var joinedDefinitions = new HashMapImplementation();
- $assert(incoming1.get$length() <= incoming2.get$length(), "incoming1.length <= incoming2.length", "builder.dart", 259, 12);
incoming1.forEach((function (element, instruction) {
- var $0;
- var other = (($0 = incoming2.$index(element)) && $0.is$HInstruction());
+ var other = incoming2.$index(element);
if (other == null) return;
if (instruction === other) {
joinedDefinitions.$setindex(element, instruction);
@@ -9055,21 +8774,21 @@ SsaBuilder.prototype.visitIf = function(node) {
var thenDefinitions = this.definitions;
this.definitions = conditionDefinitions;
var elseBlock = null;
- if ($notnull_bool(hasElse)) {
+ if (hasElse) {
elseBlock = this.graph.addNewBlock();
conditionBlock.addSuccessor(elseBlock);
this.open(elseBlock);
this.visit(node.elsePart);
elseBlock = this.current;
}
- if (thenBlock == null && elseBlock == null && $notnull_bool(hasElse)) {
+ if (thenBlock == null && elseBlock == null && hasElse) {
this.current = null;
}
else {
var joinBlock = this.graph.addNewBlock();
if (thenBlock != null) this.goto(thenBlock, joinBlock);
if (elseBlock != null) this.goto(elseBlock, joinBlock);
- else if (!$notnull_bool(hasElse)) conditionBlock.addSuccessor(joinBlock);
+ else if (!hasElse) conditionBlock.addSuccessor(joinBlock);
this.open(joinBlock);
if (joinBlock.predecessors.length == 2) {
this.definitions = this.joinDefinitions(joinBlock, this.definitions, thenDefinitions);
@@ -9085,34 +8804,33 @@ SsaBuilder.prototype.unquote = function(literal) {
return new StringWrapper(str.substring(quotes + 1, str.length - quotes));
}
SsaBuilder.prototype.visitSend = function(node) {
- var $0;
- var element = (($0 = this.elements.$index(node)) && $0.is$Element());
+ var element = this.elements.$index(node);
if ((node.selector instanceof Operator)) {
this.visit(node.receiver);
this.visit(node.argumentsNode);
var right = this.pop();
var left = this.pop();
- var op = (($0 = node.selector) && $0.is$Operator());
- if ($notnull_bool($eq(const$287/*const SourceString("+")*/, op.get$source()))) {
+ var op = node.selector;
+ if ($eq(const$287/*const SourceString("+")*/, op.get$source())) {
this.push(new HAdd(element, [left, right]));
}
- else if ($notnull_bool($eq(const$288/*const SourceString("-")*/, op.get$source()))) {
+ else if ($eq(const$288/*const SourceString("-")*/, op.get$source())) {
this.push(new HSubtract(element, [left, right]));
}
- else if ($notnull_bool($eq(const$289/*const SourceString("*")*/, op.get$source()))) {
+ else if ($eq(const$289/*const SourceString("*")*/, op.get$source())) {
this.push(new HMultiply(element, [left, right]));
}
- else if ($notnull_bool($eq(const$290/*const SourceString("/")*/, op.get$source()))) {
+ else if ($eq(const$290/*const SourceString("/")*/, op.get$source())) {
this.push(new HDivide(element, [left, right]));
}
- else if ($notnull_bool($eq(const$291/*const SourceString("~/")*/, op.get$source()))) {
+ else if ($eq(const$291/*const SourceString("~/")*/, op.get$source())) {
this.push(new HTruncatingDivide(element, [left, right]));
}
- else if ($notnull_bool($eq(const$292/*const SourceString("==")*/, op.get$source()))) {
+ else if ($eq(const$292/*const SourceString("==")*/, op.get$source())) {
this.push(new HEquals(element, [left, right]));
}
}
- else if ($notnull_bool(node.get$isPropertyAccess())) {
+ else if (node.get$isPropertyAccess()) {
if (node.receiver != null) {
this.compiler.unimplemented("SsaBuilder.visitSend with receiver");
}
@@ -9121,20 +8839,20 @@ SsaBuilder.prototype.visitSend = function(node) {
else {
var link = node.get$arguments();
if (element.kind === const$242/*ElementKind.FOREIGN*/) {
- link = (($0 = link.get$tail()) && $0.is$Link$Node());
+ link = link.get$tail();
}
var arguments = [];
- for (; !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- this.visit((($0 = link.get$head()) && $0.is$Node()));
+ for (; !link.isEmpty(); link = link.get$tail()) {
+ this.visit(link.get$head());
arguments.add$1(this.pop());
}
if (element.kind === const$242/*ElementKind.FOREIGN*/) {
- var literal = (($0 = node.get$arguments().get$head()) && $0.is$LiteralString());
+ var literal = node.get$arguments().get$head();
this.compiler.ensure((literal instanceof LiteralString));
this.push(new HInvokeForeign(element, arguments, this.unquote(literal)));
}
else {
- var selector = (($0 = node.selector) && $0.is$Identifier());
+ var selector = node.selector;
this.push(new HInvoke(element, arguments));
}
}
@@ -9155,10 +8873,9 @@ SsaBuilder.prototype.visitLiteralString = function(node) {
this.push(new HLiteral(node.get$value()));
}
SsaBuilder.prototype.visitNodeList = function(node) {
- var $0;
for (var link = node.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- this.visit((($0 = link.get$head()) && $0.is$Node()));
+ !link.isEmpty(); link = link.get$tail()) {
+ this.visit(link.get$head());
}
}
SsaBuilder.prototype.visitOperator = function(node) {
@@ -9183,36 +8900,32 @@ SsaBuilder.prototype.visitTypeAnnotation = function(node) {
}
SsaBuilder.prototype.updateDefinition = function(node) {
- var $0;
if (node.receiver != null) {
this.compiler.unimplemented("SsaBuilder: property access");
}
var link = node.get$arguments();
- $assert(!$notnull_bool(link.isEmpty()) && $notnull_bool(link.get$tail().isEmpty$0()), "!link.isEmpty() && link.tail.isEmpty()", "builder.dart", 443, 12);
- this.visit((($0 = link.get$head()) && $0.is$Node()));
+ this.visit(link.get$head());
var value = this.pop();
this.definitions.$setindex(this.elements.$index(node), value);
return value;
}
SsaBuilder.prototype.visitVariableDefinitions = function(node) {
- var $0;
for (var link = node.definitions.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- var definition = (($0 = link.get$head()) && $0.is$Node());
+ !link.isEmpty(); link = link.get$tail()) {
+ var definition = link.get$head();
if ((definition instanceof Identifier)) {
this.compiler.unimplemented("SsaBuilder.visitVariableDefinitions without initial value");
}
else {
- $assert((definition instanceof SendSet), "definition is SendSet", "builder.dart", 459, 16);
- this.updateDefinition((definition && definition.is$SendSet()));
+ this.updateDefinition(definition);
}
}
}
SsaBuilder.prototype.add$1 = function($0) {
- return this.add(($0 && $0.is$HInstruction()));
+ return this.add($0);
};
SsaBuilder.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$Node()));
+ return this.visit($0);
};
// ********** Code for SsaCodeGeneratorTask **************
function SsaCodeGeneratorTask(compiler) {
@@ -9225,17 +8938,16 @@ SsaCodeGeneratorTask.prototype.get$name = function() {
}
SsaCodeGeneratorTask.prototype.generate = function(tree, graph) {
var $this = this; // closure support
- return $assert_String(this.measure((function () {
- var $0;
- var function_ = (tree && tree.is$FunctionExpression());
- var name = (($0 = function_.name) && $0.is$Identifier());
+ return this.measure((function () {
+ var function_ = tree;
+ var name = function_.name;
if (false/*null.GENERATE_SSA_TRACE*/) {
HTracer.HTracer$singleton$factory().traceGraph("codegen", graph);
}
var code = $this.generateMethod(name.get$source(), SsaCodeGeneratorTask.countParameters(function_), graph);
return code;
})
- ));
+ );
}
SsaCodeGeneratorTask.prototype.generateMethod = function(methodName, parameterCount, graph) {
var buffer = new StringBufferImpl("");
@@ -9251,10 +8963,9 @@ SsaCodeGeneratorTask.prototype.generateMethod = function(methodName, parameterCo
return ('function ' + methodName + '(' + parameters + ') {\n' + buffer + '}\n');
}
SsaCodeGeneratorTask.countParameters = function(function_) {
- var $0;
var result = 0;
for (var link = function_.parameters.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
+ !link.isEmpty(); link = link.get$tail()) {
result++;
}
return result;
@@ -9266,7 +8977,6 @@ function SsaCodeGenerator(compiler, buffer) {
this.buffer = buffer;
// Initializers done
}
-SsaCodeGenerator.prototype.is$HVisitor = function(){return this;};
SsaCodeGenerator.prototype.visitGraph = function(graph) {
this.currentGraph = graph;
this.indent++;
@@ -9279,20 +8989,18 @@ SsaCodeGenerator.parameter = function(index) {
return ('p' + index + '');
}
SsaCodeGenerator.prototype.invoke = function(element, arguments) {
- var $0;
this.buffer.add(('' + element.name + '('));
for (var i = 0;
i < arguments.length; i++) {
if (i != 0) this.buffer.add(', ');
- this.use((($0 = arguments.$index(i)) && $0.is$HInstruction()));
+ this.use(arguments.$index(i));
}
this.buffer.add(")");
}
SsaCodeGenerator.prototype.define = function(instruction) {
- var $0;
var usedBy = instruction.get$usedBy();
if (usedBy.length == 1 && (usedBy.$index(0) instanceof HPhi)) {
- this.buffer.add(('var ' + SsaCodeGenerator.temporary((($0 = usedBy.$index(0)) && $0.is$HInstruction())) + ' = '));
+ this.buffer.add(('var ' + SsaCodeGenerator.temporary(usedBy.$index(0)) + ' = '));
this.visit(instruction);
}
else {
@@ -9304,13 +9012,13 @@ SsaCodeGenerator.prototype.define = function(instruction) {
if ((usedBy.$index(i) instanceof HPhi)) {
this.buffer.add(';\n');
this.addIndentation();
- this.buffer.add(('var ' + SsaCodeGenerator.temporary((($0 = usedBy.$index(i)) && $0.is$HInstruction())) + ' = ' + instructionId + ''));
+ this.buffer.add(('var ' + SsaCodeGenerator.temporary(usedBy.$index(i)) + ' = ' + instructionId + ''));
}
}
}
}
SsaCodeGenerator.prototype.use = function(argument) {
- if ($notnull_bool(argument.generateAtUseSite())) {
+ if (argument.generateAtUseSite()) {
this.visit(argument);
}
else {
@@ -9321,14 +9029,14 @@ SsaCodeGenerator.prototype.visit = function(node) {
return node.accept$1(this);
}
SsaCodeGenerator.prototype.visitBasicBlock = function(node) {
- if ($notnull_bool(node.isLoopHeader)) {
+ if (node.isLoopHeader) {
this.buffer.add('while(true) {\n');
this.indent++;
}
this.currentBlock = node;
var instruction = node.first;
while (instruction != null) {
- if (!$notnull_bool(instruction.generateAtUseSite())) {
+ if (!instruction.generateAtUseSite()) {
this.addIndentation();
if (instruction.get$usedBy().isEmpty() || (instruction instanceof HPhi)) {
this.visit(instruction);
@@ -9363,35 +9071,29 @@ SsaCodeGenerator.prototype.visitExit = function(node) {
}
SsaCodeGenerator.prototype.visitGoto = function(node) {
- var $0;
- $assert(this.currentBlock.successors.length == 1, "currentBlock.successors.length == 1", "codegen.dart", 150, 12);
var dominated = this.currentBlock.dominatedBlocks;
if (dominated.isEmpty()) return;
if (dominated.length > 2) unreachable();
if (dominated.length == 2 && this.currentBlock !== this.currentGraph.entry) {
unreachable();
}
- $assert($eq(dominated.$index(0), this.currentBlock.successors.$index(0)), "dominated[0] == currentBlock.successors[0]", "codegen.dart", 162, 12);
- this.visitBasicBlock((($0 = dominated.$index(0)) && $0.is$HBasicBlock()));
+ this.visitBasicBlock(dominated.$index(0));
}
SsaCodeGenerator.prototype.visitIf = function(node) {
- var $0;
var ifBlock = this.currentBlock;
this.buffer.add('if (');
- this.use((($0 = node.inputs.$index(0)) && $0.is$HInstruction()));
+ this.use(node.inputs.$index(0));
this.buffer.add(') {\n');
this.indent++;
var dominated = this.currentBlock.dominatedBlocks;
- $assert(dominated.$index(0) === ifBlock.successors.$index(0), "dominated[0] === ifBlock.successors[0]", "codegen.dart", 175, 12);
- this.visitBasicBlock((($0 = ifBlock.successors.$index(0)) && $0.is$HBasicBlock()));
+ this.visitBasicBlock(ifBlock.successors.$index(0));
this.indent--;
this.addIndentation();
var nextDominatedIndex;
- if ($notnull_bool(node.hasElse)) {
- $assert(dominated.$index(1) === ifBlock.successors.$index(1), "dominated[1] === ifBlock.successors[1]", "codegen.dart", 181, 14);
+ if (node.hasElse) {
this.buffer.add('} else {\n');
this.indent++;
- this.visitBasicBlock((($0 = ifBlock.successors.$index(1)) && $0.is$HBasicBlock()));
+ this.visitBasicBlock(ifBlock.successors.$index(1));
this.indent--;
nextDominatedIndex = 2;
this.addIndentation();
@@ -9401,9 +9103,8 @@ SsaCodeGenerator.prototype.visitIf = function(node) {
this.buffer.add("}\n");
nextDominatedIndex = 1;
}
- $assert(dominated.length <= nextDominatedIndex + 1, "dominated.length <= nextDominatedIndex + 1", "codegen.dart", 193, 12);
if (dominated.length == nextDominatedIndex + 1) {
- this.visitBasicBlock((($0 = dominated.$index(nextDominatedIndex)) && $0.is$HBasicBlock()));
+ this.visitBasicBlock(dominated.$index(nextDominatedIndex));
}
}
SsaCodeGenerator.prototype.visitInvoke = function(node) {
@@ -9411,7 +9112,6 @@ SsaCodeGenerator.prototype.visitInvoke = function(node) {
this.invoke(node.element, node.inputs);
}
SsaCodeGenerator.prototype.visitInvokeForeign = function(node) {
- var $0;
if (!node.inputs.isEmpty()) {
this.buffer.add("(function foreign(\$0");
for (var i = 1;
@@ -9423,11 +9123,11 @@ SsaCodeGenerator.prototype.visitInvokeForeign = function(node) {
this.buffer.add(node.code);
if (!node.inputs.isEmpty()) {
this.buffer.add('; }) (');
- this.use((($0 = node.inputs.$index(0)) && $0.is$HInstruction()));
+ this.use(node.inputs.$index(0));
for (var i = 1;
i < node.inputs.length; i++) {
this.buffer.add(', ');
- this.use((($0 = node.inputs.$index(1)) && $0.is$HInstruction()));
+ this.use(node.inputs.$index(1));
}
this.buffer.add(')');
}
@@ -9436,49 +9136,42 @@ SsaCodeGenerator.prototype.visitLiteral = function(node) {
this.buffer.add(node.value);
}
SsaCodeGenerator.prototype.visitLoopBranch = function(node) {
- var $0;
var branchBlock = this.currentBlock;
this.buffer.add('if (!(');
- this.use((($0 = node.inputs.$index(0)) && $0.is$HInstruction()));
+ this.use(node.inputs.$index(0));
this.buffer.add(')) break;\n');
var dominated = this.currentBlock.dominatedBlocks;
- $assert(dominated.length == 2, "dominated.length == 2", "codegen.dart", 238, 12);
- $assert(dominated.$index(0) === branchBlock.successors.$index(0), "dominated[0] === branchBlock.successors[0]", "codegen.dart", 239, 12);
this.visit(dominated.$index(0));
this.indent--;
this.addIndentation();
this.buffer.add('}\n');
- $assert(dominated.$index(1) === branchBlock.successors.$index(1), "dominated[1] === branchBlock.successors[1]", "codegen.dart", 244, 12);
this.visit(dominated.$index(1));
}
SsaCodeGenerator.prototype.visitParameter = function(node) {
this.buffer.add(SsaCodeGenerator.parameter(node.parameterIndex));
}
SsaCodeGenerator.prototype.visitPhi = function(node) {
- var $0;
var usedBy = node.get$usedBy();
var firstPhi = true;
for (var i = 0;
i < usedBy.length; i++) {
if ((usedBy.$index(i) instanceof HPhi)) {
- if (!$notnull_bool(firstPhi)) {
+ if (!firstPhi) {
this.buffer.add(";\n");
this.addIndentation();
}
- this.buffer.add(("var " + SsaCodeGenerator.temporary((($0 = usedBy.$index(i)) && $0.is$HInstruction())) + " = " + SsaCodeGenerator.temporary(node) + ""));
+ this.buffer.add(("var " + SsaCodeGenerator.temporary(usedBy.$index(i)) + " = " + SsaCodeGenerator.temporary(node) + ""));
firstPhi = false;
}
}
}
SsaCodeGenerator.prototype.visitReturn = function(node) {
- var $0;
this.buffer.add('return ');
- this.use((($0 = node.inputs.$index(0)) && $0.is$HInstruction()));
+ this.use(node.inputs.$index(0));
}
SsaCodeGenerator.prototype.visitThrow = function(node) {
- var $0;
this.buffer.add('throw ');
- this.use((($0 = node.inputs.$index(0)) && $0.is$HInstruction()));
+ this.use(node.inputs.$index(0));
}
SsaCodeGenerator.prototype.addIndentation = function() {
for (var i = 0;
@@ -9486,7 +9179,9 @@ SsaCodeGenerator.prototype.addIndentation = function() {
this.buffer.add(' ');
}
}
-SsaCodeGenerator.prototype.visit$1 = SsaCodeGenerator.prototype.visit;
+SsaCodeGenerator.prototype.visit$1 = function($0) {
+ return this.visit($0);
+};
// ********** Code for HGraphVisitor **************
function HGraphVisitor() {
// Initializers done
@@ -9494,12 +9189,11 @@ function HGraphVisitor() {
HGraphVisitor.prototype.visitDominatorTree = function(graph) {
var $this = this; // closure support
function visitBasicBlockAndSuccessors(block) {
- var $0;
$this.visitBasicBlock(block);
var dominated = block.dominatedBlocks;
for (var i = 0;
i < dominated.length; i++) {
- visitBasicBlockAndSuccessors((($0 = dominated.$index(i)) && $0.is$HBasicBlock()));
+ visitBasicBlockAndSuccessors(dominated.$index(i));
}
}
visitBasicBlockAndSuccessors(graph.entry);
@@ -9507,11 +9201,10 @@ HGraphVisitor.prototype.visitDominatorTree = function(graph) {
HGraphVisitor.prototype.visitPostDominatorTree = function(graph) {
var $this = this; // closure support
function visitBasicBlockAndSuccessors(block) {
- var $0;
var dominated = block.dominatedBlocks;
for (var i = dominated.length - 1;
i >= 0; i--) {
- visitBasicBlockAndSuccessors((($0 = dominated.$index(i)) && $0.is$HBasicBlock()));
+ visitBasicBlockAndSuccessors(dominated.$index(i));
}
$this.visitBasicBlock(block);
}
@@ -9538,12 +9231,10 @@ function HGraph() {
this.entry = this.addNewBlock();
this.exit = new HBasicBlock();
}
-HGraph.prototype.is$HGraph = function(){return this;};
HGraph.prototype.addBlock = function(block) {
var id = this.blocks.length;
block.id = id;
this.blocks.add(block);
- $assert(this.blocks.$index(id) === block, "blocks[id] === block", "nodes.dart", 85, 12);
}
HGraph.prototype.addNewBlock = function() {
var result = new HBasicBlock();
@@ -9557,31 +9248,28 @@ HGraph.prototype.finalize = function() {
this.assignDominators();
}
HGraph.prototype.assignDominators = function() {
- var $0;
for (var i = 0, length = this.blocks.length;
i < length; i++) {
- var block = (($0 = this.blocks.$index(i)) && $0.is$HBasicBlock());
+ var block = this.blocks.$index(i);
var predecessors = block.predecessors;
- if ($notnull_bool(block.isLoopHeader)) {
- $assert(predecessors.length >= 2, "predecessors.length >= 2", "nodes.dart", 109, 16);
- block.assignCommonDominator((($0 = predecessors.$index(0)) && $0.is$HBasicBlock()));
+ if (block.isLoopHeader) {
+ block.assignCommonDominator(predecessors.$index(0));
}
else {
for (var j = predecessors.length - 1;
j >= 0; j--) {
- block.assignCommonDominator((($0 = predecessors.$index(j)) && $0.is$HBasicBlock()));
+ block.assignCommonDominator(predecessors.$index(j));
}
}
}
}
HGraph.prototype.assignInstructionIds = function() {
function handleDominatorTree(root, id) {
- var $0;
id = root.assignInstructionIds(id);
var dominatedBlocks = root.dominatedBlocks;
for (var i = 0, length = dominatedBlocks.length;
i < length; i++) {
- id = handleDominatorTree((($0 = dominatedBlocks.$index(i)) && $0.is$HBasicBlock()), id);
+ id = handleDominatorTree(dominatedBlocks.$index(i), id);
}
return id;
}
@@ -9598,7 +9286,6 @@ function HBaseVisitor() {
// Initializers done
}
$inherits(HBaseVisitor, HGraphVisitor);
-HBaseVisitor.prototype.is$HVisitor = function(){return this;};
HBaseVisitor.prototype.visitBasicBlock = function(node) {
this.currentBlock = node;
var instruction = node.first;
@@ -9677,7 +9364,6 @@ HInstructionList.prototype.isEmpty = function() {
}
HInstructionList.prototype.addAfter = function(cursor, instruction) {
if (cursor == null) {
- $assert(this.isEmpty(), "isEmpty()", "nodes.dart", 185, 14);
this.first = this.last = instruction;
}
else if (cursor === this.last) {
@@ -9694,9 +9380,6 @@ HInstructionList.prototype.addAfter = function(cursor, instruction) {
instruction.notifyAddedToBlock();
}
HInstructionList.prototype.remove = function(instruction) {
- $assert(this.contains(instruction), "contains(instruction)", "nodes.dart", 201, 12);
- $assert(instruction.isInBasicBlock(), "instruction.isInBasicBlock()", "nodes.dart", 202, 12);
- $assert(instruction.get$usedBy().isEmpty(), "instruction.usedBy.isEmpty()", "nodes.dart", 203, 12);
if (instruction.previous == null) {
this.first = instruction.next;
}
@@ -9720,7 +9403,7 @@ HInstructionList.prototype.contains = function(instruction) {
return false;
}
HInstructionList.prototype.contains$1 = function($0) {
- return this.contains(($0 && $0.is$HInstruction()));
+ return this.contains($0);
};
HInstructionList.prototype.isEmpty$0 = function() {
return this.isEmpty();
@@ -9748,7 +9431,6 @@ HBasicBlock.withId$ctor = function(id) {
}
HBasicBlock.withId$ctor.prototype = HBasicBlock.prototype;
$inherits(HBasicBlock, HInstructionList);
-HBasicBlock.prototype.is$HBasicBlock = function(){return this;};
HBasicBlock.prototype.isNew = function() {
return this.status == 0/*HBasicBlock.STATUS_NEW*/;
}
@@ -9759,11 +9441,9 @@ HBasicBlock.prototype.isClosed = function() {
return this.status == 2/*HBasicBlock.STATUS_CLOSED*/;
}
HBasicBlock.prototype.open = function() {
- $assert(this.isNew(), "isNew()", "nodes.dart", 256, 12);
this.status = 1/*HBasicBlock.STATUS_OPEN*/;
}
HBasicBlock.prototype.close = function(end) {
- $assert(this.isOpen(), "isOpen()", "nodes.dart", 261, 12);
this.addAfter(this.last, end);
this.status = 2/*HBasicBlock.STATUS_CLOSED*/;
}
@@ -9779,11 +9459,9 @@ HBasicBlock.prototype.accept = function(visitor) {
return visitor.visitBasicBlock(this);
}
HBasicBlock.prototype.add = function(instruction) {
- $assert(!(instruction instanceof HControlFlow), "instruction is !HControlFlow", "nodes.dart", 289, 12);
HInstructionList.prototype.addAfter.call(this, this.last, instruction);
}
HBasicBlock.prototype.addSuccessor = function(block) {
- $assert($notnull_bool(this.isClosed()) && ($notnull_bool(block.isNew()) || block.id < this.id), "isClosed() && (block.isNew() || block.id < id)", "nodes.dart", 295, 12);
if (this.successors.isEmpty()) {
this.successors = [block];
}
@@ -9793,11 +9471,9 @@ HBasicBlock.prototype.addSuccessor = function(block) {
block.predecessors.add(this);
}
HBasicBlock.prototype.addAfter = function(cursor, instruction) {
- $assert($notnull_bool(this.isOpen()) || $notnull_bool(this.isClosed()), "isOpen() || isClosed()", "nodes.dart", 305, 12);
HInstructionList.prototype.addAfter.call(this, cursor, instruction);
}
HBasicBlock.prototype.remove = function(instruction) {
- $assert($notnull_bool(this.isOpen()) || $notnull_bool(this.isClosed()), "isOpen() || isClosed()", "nodes.dart", 310, 12);
HInstructionList.prototype.remove.call(this, instruction);
}
HBasicBlock.prototype.rewrite = function(from, to) {
@@ -9820,9 +9496,6 @@ HBasicBlock.prototype.isExitBlock = function() {
return this.first === this.last && (this.first instanceof HExit);
}
HBasicBlock.prototype.addDominatedBlock = function(block) {
- $assert(this.isClosed(), "isClosed()", "nodes.dart", 340, 12);
- $assert(this.id != null && block.id != null, "id !== null && block.id !== null", "nodes.dart", 341, 12);
- $assert(this.dominatedBlocks.indexOf(block) < 0, "dominatedBlocks.indexOf(block) < 0", "nodes.dart", 342, 12);
var index = this.dominatedBlocks.length;
while (index > 0 && this.dominatedBlocks.$index(index - 1).id > block.id) {
index--;
@@ -9833,25 +9506,19 @@ HBasicBlock.prototype.addDominatedBlock = function(block) {
else {
this.dominatedBlocks.insertRange(index, 1, block);
}
- $assert(block.dominator == null, "block.dominator === null", "nodes.dart", 355, 12);
block.dominator = this;
}
HBasicBlock.prototype.removeDominatedBlock = function(block) {
- $assert(this.isClosed(), "isClosed()", "nodes.dart", 360, 12);
- $assert(this.id != null && block.id != null, "id !== null && block.id !== null", "nodes.dart", 361, 12);
var index = this.dominatedBlocks.indexOf(block);
- $assert(index >= 0, "index >= 0", "nodes.dart", 363, 12);
if (index == this.dominatedBlocks.length - 1) {
this.dominatedBlocks.removeLast();
}
else {
this.dominatedBlocks.removeRange(index, 1);
}
- $assert(block.dominator === this, "block.dominator === this", "nodes.dart", 369, 12);
block.dominator = null;
}
HBasicBlock.prototype.assignCommonDominator = function(predecessor) {
- $assert(this.isClosed(), "isClosed()", "nodes.dart", 374, 12);
if (this.dominator == null) {
predecessor.addDominatedBlock(this);
}
@@ -9865,7 +9532,6 @@ HBasicBlock.prototype.assignCommonDominator = function(predecessor) {
else {
second = second.dominator;
}
- $assert(first != null && second != null, "first !== null && second !== null", "nodes.dart", 391, 16);
}
if (this.dominator !== first) {
this.dominator.removeDominatedBlock(this);
@@ -9876,15 +9542,15 @@ HBasicBlock.prototype.assignCommonDominator = function(predecessor) {
HBasicBlock.prototype.forEachPhi = function(f) {
var current = this.first;
while (current != null && (current instanceof HPhi)) {
- f((current && current.is$HPhi()));
+ f(current);
current = current.next;
}
}
HBasicBlock.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HBasicBlock.prototype.add$1 = function($0) {
- return this.add(($0 && $0.is$HInstruction()));
+ return this.add($0);
};
HBasicBlock.prototype.isExitBlock$0 = function() {
return this.isExitBlock();
@@ -9899,7 +9565,6 @@ function HInstruction(inputs) {
// Initializers done
this.prepareGvn();
}
-HInstruction.prototype.is$HInstruction = function(){return this;};
HInstruction.prototype.getFlag = function(position) {
return (this.flags & (1 << position)) != 0;
}
@@ -9938,18 +9603,13 @@ HInstruction.prototype.isInBasicBlock = function() {
return this._usedBy != null;
}
HInstruction.prototype.notifyAddedToBlock = function() {
- $assert(!$notnull_bool(this.isInBasicBlock()), "!isInBasicBlock()", "nodes.dart", 507, 12);
this._usedBy = [];
for (var i = 0;
i < this.inputs.length; i++) {
- $assert(this.inputs.$index(i).isInBasicBlock$0(), "inputs[i].isInBasicBlock()", "nodes.dart", 511, 14);
this.inputs.$index(i).get$usedBy().add(this);
}
- $assert(this.isValid(), "isValid()", "nodes.dart", 514, 12);
}
HInstruction.prototype.notifyRemovedFromBlock = function() {
- $assert(this.isInBasicBlock(), "isInBasicBlock()", "nodes.dart", 518, 12);
- $assert(this.get$usedBy().isEmpty(), "usedBy.isEmpty()", "nodes.dart", 519, 12);
for (var i = 0;
i < this.inputs.length; i++) {
var inputUsedBy = this.inputs.$index(i).get$usedBy();
@@ -9963,7 +9623,6 @@ HInstruction.prototype.notifyRemovedFromBlock = function() {
}
}
this._usedBy = null;
- $assert(this.isValid(), "isValid()", "nodes.dart", 533, 12);
}
HInstruction.prototype.isLiteralNumber = function() {
return false;
@@ -9977,7 +9636,7 @@ HInstruction.prototype.isValid = function() {
return validator.isValid;
}
HInstruction.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HInstruction.prototype.isInBasicBlock$0 = function() {
return this.isInBasicBlock();
@@ -10027,7 +9686,7 @@ HInvoke.prototype.accept = function(visitor) {
return visitor.visitInvoke(this);
}
HInvoke.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HInvoke.prototype.toString$0 = function() {
return this.toString();
@@ -10043,7 +9702,7 @@ HInvokeForeign.prototype.accept = function(visitor) {
return visitor.visitInvokeForeign(this);
}
HInvokeForeign.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
// ********** Code for HArithmetic **************
function HArithmetic(element, inputs) {
@@ -10063,7 +9722,7 @@ function HAdd(element, inputs) {
}
$inherits(HAdd, HArithmetic);
HAdd.prototype.prepareGvn = function() {
- if (!$notnull_bool(this.inputs.$index(0).isLiteralNumber$0())) return;
+ if (!this.inputs.$index(0).isLiteralNumber$0()) return;
this.clearAllSideEffects();
this.setUseGvn();
}
@@ -10074,7 +9733,7 @@ HAdd.prototype.evaluate = function(a, b) {
return a + b;
}
HAdd.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
// ********** Code for HDivide **************
function HDivide(element, inputs) {
@@ -10089,7 +9748,7 @@ HDivide.prototype.evaluate = function(a, b) {
return a / b;
}
HDivide.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
// ********** Code for HMultiply **************
function HMultiply(element, inputs) {
@@ -10104,7 +9763,7 @@ HMultiply.prototype.evaluate = function(a, b) {
return a * b;
}
HMultiply.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
// ********** Code for HSubtract **************
function HSubtract(element, inputs) {
@@ -10119,7 +9778,7 @@ HSubtract.prototype.evaluate = function(a, b) {
return a - b;
}
HSubtract.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
// ********** Code for HTruncatingDivide **************
function HTruncatingDivide(element, inputs) {
@@ -10134,7 +9793,7 @@ HTruncatingDivide.prototype.evaluate = function(a, b) {
return $truncdiv(a, b);
}
HTruncatingDivide.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
// ********** Code for HEquals **************
function HEquals(element, inputs) {
@@ -10151,7 +9810,7 @@ HEquals.prototype.accept = function(visitor) {
return visitor.visitEquals(this);
}
HEquals.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
// ********** Code for HExit **************
function HExit() {
@@ -10166,7 +9825,7 @@ HExit.prototype.accept = function(visitor) {
return visitor.visitExit(this);
}
HExit.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HExit.prototype.toString$0 = function() {
return this.toString();
@@ -10184,7 +9843,7 @@ HGoto.prototype.accept = function(visitor) {
return visitor.visitGoto(this);
}
HGoto.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HGoto.prototype.toString$0 = function() {
return this.toString();
@@ -10203,7 +9862,7 @@ HIf.prototype.accept = function(visitor) {
return visitor.visitIf(this);
}
HIf.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HIf.prototype.toString$0 = function() {
return this.toString();
@@ -10221,7 +9880,7 @@ HLoopBranch.prototype.accept = function(visitor) {
return visitor.visitLoopBranch(this);
}
HLoopBranch.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HLoopBranch.prototype.toString$0 = function() {
return this.toString();
@@ -10233,7 +9892,6 @@ function HLiteral(value) {
// Initializers done
}
$inherits(HLiteral, HInstruction);
-HLiteral.prototype.is$HLiteral = function(){return this;};
HLiteral.prototype.get$value = function() { return this.value; };
HLiteral.prototype.prepareGvn = function() {
this.clearAllSideEffects();
@@ -10253,7 +9911,7 @@ HLiteral.prototype.isLiteralString = function() {
return !!(($0 = this.value) && $0.is$SourceString);
}
HLiteral.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HLiteral.prototype.isLiteralNumber$0 = function() {
return this.isLiteralNumber();
@@ -10281,7 +9939,7 @@ HParameter.prototype.accept = function(visitor) {
return visitor.visitParameter(this);
}
HParameter.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HParameter.prototype.toString$0 = function() {
return this.toString();
@@ -10301,10 +9959,8 @@ HPhi.manyInputs$ctor = function(element, inputs) {
}
HPhi.manyInputs$ctor.prototype = HPhi.prototype;
$inherits(HPhi, HInstruction);
-HPhi.prototype.is$HPhi = function(){return this;};
HPhi.prototype.get$element = function() { return this.element; };
HPhi.prototype.addInput = function(input) {
- $assert(this.isInBasicBlock(), "isInBasicBlock()", "nodes.dart", 701, 12);
this.inputs.add(input);
input.get$usedBy().add(this);
}
@@ -10315,7 +9971,7 @@ HPhi.prototype.accept = function(visitor) {
return visitor.visitPhi(this);
}
HPhi.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HPhi.prototype.toString$0 = function() {
return this.toString();
@@ -10333,7 +9989,7 @@ HReturn.prototype.accept = function(visitor) {
return visitor.visitReturn(this);
}
HReturn.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HReturn.prototype.toString$0 = function() {
return this.toString();
@@ -10351,7 +10007,7 @@ HThrow.prototype.accept = function(visitor) {
return visitor.visitThrow(this);
}
HThrow.prototype.accept$1 = function($0) {
- return this.accept(($0 && $0.is$HVisitor()));
+ return this.accept($0);
};
HThrow.prototype.toString$0 = function() {
return this.toString();
@@ -10387,8 +10043,8 @@ SsaConstantFolder.prototype.visitBasicBlock = function(block) {
while (instruction != null) {
var replacement = instruction.accept(this);
if (replacement !== instruction) {
- block.addAfter(instruction, (replacement && replacement.is$HInstruction()));
- block.rewrite(instruction, (replacement && replacement.is$HInstruction()));
+ block.addAfter(instruction, replacement);
+ block.rewrite(instruction, replacement);
block.remove(instruction);
}
instruction = instruction.next;
@@ -10398,24 +10054,21 @@ SsaConstantFolder.prototype.visitInstruction = function(node) {
return node;
}
SsaConstantFolder.prototype.visitEquals = function(node) {
- var $0;
var inputs = node.inputs;
if ((inputs.$index(0) instanceof HLiteral) && (inputs.$index(1) instanceof HLiteral)) {
- var op1 = (($0 = inputs.$index(0)) && $0.is$HLiteral());
- var op2 = (($0 = inputs.$index(1)) && $0.is$HLiteral());
+ var op1 = inputs.$index(0);
+ var op2 = inputs.$index(1);
return new HLiteral($eq(op1.value, op2.value));
}
return node;
}
SsaConstantFolder.prototype.visitArithmetic = function(node) {
- var $0;
var inputs = node.inputs;
- $assert(inputs.length == 2, "inputs.length == 2", "optimize.dart", 57, 12);
- if ($notnull_bool(inputs.$index(0).isLiteralNumber$0()) && $notnull_bool(inputs.$index(1).isLiteralNumber$0())) {
- var op1 = (($0 = inputs.$index(0)) && $0.is$HLiteral());
- var op2 = (($0 = inputs.$index(1)) && $0.is$HLiteral());
+ if (inputs.$index(0).isLiteralNumber$0() && inputs.$index(1).isLiteralNumber$0()) {
+ var op1 = inputs.$index(0);
+ var op2 = inputs.$index(1);
try {
- var folded = node.evaluate($assert_num(op1.value), $assert_num(op2.value));
+ var folded = node.evaluate(op1.value, op2.value);
return new HLiteral(folded);
} catch (e) {
e = $toDartException(e);
@@ -10426,10 +10079,9 @@ SsaConstantFolder.prototype.visitArithmetic = function(node) {
return node;
}
SsaConstantFolder.prototype.visitAdd = function(node) {
- var $0;
- if ($notnull_bool(node.inputs.$index(0).isLiteralString$0())) {
- var op1 = (($0 = node.inputs.$index(0)) && $0.is$HLiteral());
- var op2 = (($0 = node.inputs.$index(1)) && $0.is$HLiteral());
+ if (node.inputs.$index(0).isLiteralString$0()) {
+ var op1 = node.inputs.$index(0);
+ var op2 = node.inputs.$index(1);
return new HLiteral(new StringWrapper(("" + op1.value + " + " + op2.value + "")));
}
return this.visitArithmetic(node);
@@ -10441,7 +10093,7 @@ function SsaDeadCodeEliminator() {
}
$inherits(SsaDeadCodeEliminator, HGraphVisitor);
SsaDeadCodeEliminator.isDeadCode = function(instruction) {
- return !$notnull_bool(instruction.hasSideEffects()) && instruction.get$usedBy().isEmpty();
+ return !instruction.hasSideEffects() && instruction.get$usedBy().isEmpty();
}
SsaDeadCodeEliminator.prototype.visitGraph = function(graph) {
this.visitPostDominatorTree(graph);
@@ -10450,8 +10102,8 @@ SsaDeadCodeEliminator.prototype.visitBasicBlock = function(block) {
var instruction = block.last;
while (instruction != null) {
var previous = instruction.previous;
- if ($notnull_bool(SsaDeadCodeEliminator.isDeadCode(instruction))) block.remove(instruction);
- instruction = (previous && previous.is$HInstruction());
+ if (SsaDeadCodeEliminator.isDeadCode(instruction)) block.remove(instruction);
+ instruction = previous;
}
}
// ********** Code for SsaInstructionMerger **************
@@ -10545,13 +10197,12 @@ HTracer.prototype.addInstructions = function(block) {
var uses = instruction.get$usedBy().length;
this.addIndent();
var temporaryId = stringifier.temporaryId(instruction);
- var instructionString = $assert_String(stringifier.visit(instruction));
+ var instructionString = stringifier.visit(instruction);
this.add(("" + bci + " " + uses + " " + temporaryId + " " + instructionString + " <|@\n"));
}
}
HTracer.prototype.visitBasicBlock = function(block) {
var $this = this; // closure support
- $assert(block.id != null, "block.id !== null", "tracer.dart", 75, 12);
this.tag("block", (function () {
$this.printProperty("name", ("B" + block.id + ""));
$this.printProperty("from_bci", -1);
@@ -10614,7 +10265,7 @@ HTracer.prototype.toString = function() {
return this.output.toString();
}
HTracer.prototype.add$1 = function($0) {
- return this.add($assert_String($0));
+ return this.add($0);
};
HTracer.prototype.toString$0 = function() {
return this.toString();
@@ -10624,7 +10275,6 @@ function HInstructionStringifier(currentBlock) {
this.currentBlock = currentBlock;
// Initializers done
}
-HInstructionStringifier.prototype.is$HVisitor = function(){return this;};
HInstructionStringifier.prototype.visit = function(node) {
return node.accept(this);
}
@@ -10647,24 +10297,21 @@ HInstructionStringifier.prototype.visitExit = function(node) {
return "exit";
}
HInstructionStringifier.prototype.visitGoto = function(node) {
- var $0;
- var target = (($0 = this.currentBlock.successors.$index(0)) && $0.is$HBasicBlock());
+ var target = this.currentBlock.successors.$index(0);
return ("Goto: (B" + target.id + ")");
}
HInstructionStringifier.prototype.visitIf = function(node) {
- var $0;
- var thenBlock = (($0 = this.currentBlock.successors.$index(0)) && $0.is$HBasicBlock());
- var elseBlock = (($0 = this.currentBlock.successors.$index(1)) && $0.is$HBasicBlock());
- var conditionId = this.temporaryId((($0 = node.inputs.$index(0)) && $0.is$HInstruction()));
+ var thenBlock = this.currentBlock.successors.$index(0);
+ var elseBlock = this.currentBlock.successors.$index(1);
+ var conditionId = this.temporaryId(node.inputs.$index(0));
return ("If (" + conditionId + "): (B" + thenBlock.id + ") else (B" + elseBlock.id + ")");
}
HInstructionStringifier.prototype.visitGenericInvoke = function(invokeType, invoke) {
- var $0;
var arguments = new StringBufferImpl("");
for (var i = 0;
i < invoke.inputs.length; i++) {
if (i != 0) arguments.add(", ");
- arguments.add(this.temporaryId((($0 = invoke.inputs.$index(i)) && $0.is$HInstruction())));
+ arguments.add(this.temporaryId(invoke.inputs.$index(i)));
}
return ("" + invokeType + ": " + invoke.element.name + "(" + arguments + ")");
}
@@ -10678,10 +10325,9 @@ HInstructionStringifier.prototype.visitLiteral = function(literal) {
return ("Literal " + literal.value + "");
}
HInstructionStringifier.prototype.visitLoopBranch = function(branch) {
- var $0;
- var bodyBlock = (($0 = this.currentBlock.successors.$index(0)) && $0.is$HBasicBlock());
- var exitBlock = (($0 = this.currentBlock.successors.$index(1)) && $0.is$HBasicBlock());
- var conditionId = this.temporaryId((($0 = branch.inputs.$index(0)) && $0.is$HInstruction()));
+ var bodyBlock = this.currentBlock.successors.$index(0);
+ var exitBlock = this.currentBlock.successors.$index(1);
+ var conditionId = this.temporaryId(branch.inputs.$index(0));
return ("While (" + conditionId + "): (B" + bodyBlock.id + ") then (B" + exitBlock.id + ")");
}
HInstructionStringifier.prototype.visitMultiply = function(node) {
@@ -10691,25 +10337,22 @@ HInstructionStringifier.prototype.visitParameter = function(node) {
return ("p" + node.parameterIndex + "");
}
HInstructionStringifier.prototype.visitPhi = function(phi) {
- var $0;
- return ("Phi(" + this.temporaryId((($0 = phi.inputs.$index(0)) && $0.is$HInstruction())) + ", " + this.temporaryId((($0 = phi.inputs.$index(1)) && $0.is$HInstruction())) + ")");
+ return ("Phi(" + this.temporaryId(phi.inputs.$index(0)) + ", " + this.temporaryId(phi.inputs.$index(1)) + ")");
}
HInstructionStringifier.prototype.visitReturn = function(node) {
- var $0;
- return ("Return " + this.temporaryId((($0 = node.inputs.$index(0)) && $0.is$HInstruction())) + "");
+ return ("Return " + this.temporaryId(node.inputs.$index(0)) + "");
}
HInstructionStringifier.prototype.visitSubtract = function(node) {
return this.visitInvoke(node);
}
HInstructionStringifier.prototype.visitThrow = function(node) {
- var $0;
- return ("Throw " + this.temporaryId((($0 = node.inputs.$index(0)) && $0.is$HInstruction())) + "");
+ return ("Throw " + this.temporaryId(node.inputs.$index(0)) + "");
}
HInstructionStringifier.prototype.visitTruncatingDivide = function(node) {
return this.visitInvoke(node);
}
HInstructionStringifier.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$HInstruction()));
+ return this.visit($0);
};
// ********** Code for HValidator **************
function HValidator() {
@@ -10727,7 +10370,7 @@ HValidator.prototype.markInvalid = function(reason) {
this.isValid = false;
}
HValidator.prototype.visitBasicBlock = function(block) {
- if (!$notnull_bool(this.isValid)) return;
+ if (!this.isValid) return;
if (block.first == null || block.last == null) {
this.markInvalid("empty block");
}
@@ -10743,7 +10386,7 @@ HValidator.prototype.visitBasicBlock = function(block) {
if ((block.last instanceof HGoto) && block.successors.length != 1) {
this.markInvalid("Goto node without one successor");
}
- if ((block.last instanceof HReturn) && (block.successors.length != 1 || !$notnull_bool(block.successors.$index(0).isExitBlock$0()))) {
+ if ((block.last instanceof HReturn) && (block.successors.length != 1 || !block.successors.$index(0).isExitBlock$0())) {
this.markInvalid("Return node with > 1 succesor or not going to exit-block");
}
if ((block.last instanceof HExit) && !block.successors.isEmpty()) {
@@ -10752,16 +10395,16 @@ HValidator.prototype.visitBasicBlock = function(block) {
if ((block.last instanceof HThrow) && !block.successors.isEmpty()) {
this.markInvalid("Throw block with successor");
}
- if (block.successors.isEmpty() && !(block.last instanceof HThrow) && !$notnull_bool(block.isExitBlock())) {
+ if (block.successors.isEmpty() && !(block.last instanceof HThrow) && !block.isExitBlock()) {
this.markInvalid("Non-exit or throw block without successor");
}
if (block.id == null) this.markInvalid("block without id");
var $list = block.successors;
for (var $i = 0;$i < $list.length; $i++) {
var successor = $list.$index($i);
- if (!$notnull_bool(this.isValid)) break;
+ if (!this.isValid) break;
if (successor.id == null) this.markInvalid("successor without id");
- if (successor.id <= block.id && !$notnull_bool(successor.isLoopHeader)) {
+ if (successor.id <= block.id && !successor.isLoopHeader) {
this.markInvalid("successor with lower id, but not a loop-header");
}
}
@@ -10769,7 +10412,7 @@ HValidator.prototype.visitBasicBlock = function(block) {
var $list = block.dominatedBlocks;
for (var $i = 0;$i < $list.length; $i++) {
var dominated = $list.$index($i);
- if (!$notnull_bool(this.isValid)) break;
+ if (!this.isValid) break;
if (dominated.dominator !== block) {
this.markInvalid("dominated block not pointing back");
}
@@ -10778,7 +10421,7 @@ HValidator.prototype.visitBasicBlock = function(block) {
}
lastId = dominated.id;
}
- if (!$notnull_bool(this.isValid)) return;
+ if (!this.isValid) return;
HInstructionVisitor.prototype.visitBasicBlock.call(this, block);
}
HValidator.countInstruction = function(instructions, instruction) {
@@ -10803,32 +10446,32 @@ HValidator.everyInstruction = function(instructions, f) {
count++;
}
}
- if (!$notnull_bool(f.call$2(current, count))) return false;
+ if (!f.call$2(current, count)) return false;
}
return true;
}
HValidator.prototype.visitInstruction = function(instruction) {
var $this = this; // closure support
function hasCorrectInputs(instruction) {
- var inBasicBlock = $assert_bool(instruction.isInBasicBlock$0());
+ var inBasicBlock = instruction.isInBasicBlock$0();
return HValidator.everyInstruction(instruction.inputs, (function (input, count) {
- if ($notnull_bool(inBasicBlock)) {
- return HValidator.countInstruction(input.get$usedBy(), (instruction && instruction.is$HInstruction())) == count;
+ if (inBasicBlock) {
+ return HValidator.countInstruction(input.get$usedBy(), instruction) == count;
}
else {
- return HValidator.countInstruction(input.get$usedBy(), (instruction && instruction.is$HInstruction())) == 0;
+ return HValidator.countInstruction(input.get$usedBy(), instruction) == 0;
}
})
);
}
function hasCorrectUses(instruction) {
- if (!$notnull_bool(instruction.isInBasicBlock$0())) return true;
+ if (!instruction.isInBasicBlock$0()) return true;
return HValidator.everyInstruction(instruction.get$usedBy(), (function (use, count) {
- return HValidator.countInstruction(use.inputs, (instruction && instruction.is$HInstruction())) == count;
+ return HValidator.countInstruction(use.inputs, instruction) == count;
})
);
}
- this.isValid = $notnull_bool(this.isValid) && $notnull_bool(hasCorrectInputs(instruction)) && $notnull_bool(hasCorrectUses(instruction));
+ this.isValid = this.isValid && hasCorrectInputs(instruction) && hasCorrectUses(instruction);
}
// ********** Code for top level **************
// ********** Library leg **************
@@ -10840,15 +10483,15 @@ function WorldCompiler(world, script) {
}
$inherits(WorldCompiler, Compiler);
WorldCompiler.prototype.log = function(message) {
- if ($notnull_bool(options.showInfo)) {
+ if (options.showInfo) {
this.world.info(('[leg] ' + message + ''));
}
}
WorldCompiler.prototype.run = function() {
var success = Compiler.prototype.run.call(this);
- if ($notnull_bool(success)) {
+ if (success) {
var code = this.getGeneratedCode();
- this.world.legCode = $assert_String(code);
+ this.world.legCode = code;
this.world.jsBytesWritten = code.length;
var $list = this.tasks;
for (var $i0 = 0;$i0 < $list.length; $i0++) {
@@ -10869,8 +10512,7 @@ WorldCompiler.prototype.spanFromNode = function(node) {
return new SourceSpan(this.script.file, startOffset, endOffset);
}
WorldCompiler.prototype.reportWarning = function(node, message) {
- var $0;
- this.world.warning(('' + message + '.'), (($0 = this.spanFromNode(node)) && $0.is$SourceSpan()));
+ this.world.warning(('' + message + '.'), this.spanFromNode(node));
}
// ********** Code for Compiler **************
function Compiler(script) {
@@ -10887,9 +10529,8 @@ function Compiler(script) {
this.generator = new SsaCodeGeneratorTask(this);
this.tasks = [this.scanner, this.parser, this.resolver, this.checker, this.builder, this.optimizer, this.generator];
}
-Compiler.prototype.is$Compiler = function(){return this;};
Compiler.prototype.ensure = function(condition) {
- if (!$notnull_bool(condition)) this.cancel('failed assertion in leg');
+ if (!condition) this.cancel('failed assertion in leg');
}
Compiler.prototype.unimplemented = function(methodName) {
this.cancel(("" + methodName + " not implemented"));
@@ -10926,14 +10567,13 @@ Compiler.prototype.scanCoreLibrary = function() {
this.universe.define(element);
}
Compiler.prototype.runCompiler = function() {
- var $0;
this.scanCoreLibrary();
this.scanner.scan(this.script);
var element = this.universe.find(const$244/*Compiler.MAIN*/);
if (element == null) this.cancel(('Could not find ' + const$244/*Compiler.MAIN*/ + ''));
this.compileMethod(element);
while (!this.worklist.isEmpty()) {
- this.compileMethod((($0 = this.worklist.removeLast()) && $0.is$Element()));
+ this.compileMethod(this.worklist.removeLast());
}
}
Compiler.prototype.compileMethod = function(element) {
@@ -10950,9 +10590,8 @@ Compiler.prototype.resolveType = function(element) {
this.resolver.resolveType(this.parser.parse(element));
}
Compiler.prototype.getGeneratedCode = function() {
- var $0;
var buffer = new StringBufferImpl("");
- var codeBlocks = (($0 = this.universe.generatedCode.getValues()) && $0.is$List$String());
+ var codeBlocks = this.universe.generatedCode.getValues();
for (var i = codeBlocks.length - 1;
i >= 0; i--) {
buffer.add(codeBlocks.$index(i));
@@ -11005,8 +10644,7 @@ ResolverTask.prototype.get$name = function() {
}
ResolverTask.prototype.resolve = function(tree) {
var $this = this; // closure support
- var $0;
- return (($0 = this.measure((function () {
+ return this.measure((function () {
var visitor = new ResolverVisitor($this.compiler);
visitor.visit(tree);
while (!$this.toResolve.isEmpty()) {
@@ -11014,7 +10652,7 @@ ResolverTask.prototype.resolve = function(tree) {
}
return visitor.mapping;
})
- )) && $0.is$Map$Node$Element());
+ );
}
ResolverTask.prototype.resolveType = function(tree) {
var $this = this; // closure support
@@ -11025,7 +10663,7 @@ ResolverTask.prototype.resolveType = function(tree) {
);
}
ResolverTask.prototype.resolve$1 = function($0) {
- return this.resolve(($0 && $0.is$Node()));
+ return this.resolve($0);
};
// ********** Code for ErrorMessages **************
function ErrorMessages() {}
@@ -11048,7 +10686,6 @@ function ResolverVisitor(compiler) {
this.context = new Scope(new TopScope(compiler.universe));
// Initializers done
}
-ResolverVisitor.prototype.is$Visitor = function(){return this;};
ResolverVisitor.prototype.fail = function(node, message) {
this.compiler.cancel(message);
}
@@ -11060,9 +10697,8 @@ ResolverVisitor.prototype.visit = function(node) {
return node.accept(this);
}
ResolverVisitor.prototype.visitIn = function(node, scope) {
- var $0;
this.context = scope;
- var element = (($0 = this.visit(node)) && $0.is$Element());
+ var element = this.visit(node);
this.context = this.context.parent;
return element;
}
@@ -11080,9 +10716,8 @@ ResolverVisitor.prototype.visitFor = function(node) {
this.visitIn(node.body, scope);
}
ResolverVisitor.prototype.visitFunctionExpression = function(node) {
- var $0;
this.visit(node.returnType);
- var enclosingElement = (($0 = this.visit(node.name)) && $0.is$Element());
+ var enclosingElement = this.visit(node.name);
var newScope = new Scope.enclosing$ctor(this.context, enclosingElement);
this.visitIn(node.parameters, newScope);
this.visitIn(node.body, newScope);
@@ -11099,19 +10734,18 @@ ResolverVisitor.prototype.visitIf = function(node) {
this.visit(node.elsePart);
}
ResolverVisitor.prototype.potentiallyMapOperatorToMethodName = function(name) {
- if ($notnull_bool($eq(name, const$247/*const SourceString('+')*/))) return const$248/*const SourceString('add')*/;
- if ($notnull_bool($eq(name, const$249/*const SourceString('-')*/))) return const$250/*const SourceString('sub')*/;
- if ($notnull_bool($eq(name, const$251/*const SourceString('*')*/))) return const$252/*const SourceString('mul')*/;
- if ($notnull_bool($eq(name, const$253/*const SourceString('/')*/))) return const$254/*const SourceString('div')*/;
- if ($notnull_bool($eq(name, const$255/*const SourceString('~/')*/))) return const$256/*const SourceString('tdiv')*/;
- if ($notnull_bool($eq(name, const$257/*const SourceString('==')*/))) return const$258/*const SourceString('eq')*/;
- if ($notnull_bool($eq(name, const$259/*const SourceString('<')*/))) return const$260/*const SourceString('lt')*/;
+ if ($eq(name, const$247/*const SourceString('+')*/)) return const$248/*const SourceString('add')*/;
+ if ($eq(name, const$249/*const SourceString('-')*/)) return const$250/*const SourceString('sub')*/;
+ if ($eq(name, const$251/*const SourceString('*')*/)) return const$252/*const SourceString('mul')*/;
+ if ($eq(name, const$253/*const SourceString('/')*/)) return const$254/*const SourceString('div')*/;
+ if ($eq(name, const$255/*const SourceString('~/')*/)) return const$256/*const SourceString('tdiv')*/;
+ if ($eq(name, const$257/*const SourceString('==')*/)) return const$258/*const SourceString('eq')*/;
+ if ($eq(name, const$259/*const SourceString('<')*/)) return const$260/*const SourceString('lt')*/;
return name;
}
ResolverVisitor.prototype.visitSend = function(node) {
- var $0;
this.visit(node.receiver);
- var identifier = (($0 = node.selector) && $0.is$Identifier());
+ var identifier = node.selector;
var name = this.potentiallyMapOperatorToMethodName(identifier.get$source());
var target = this.context.lookup(name);
if (target == null) this.fail(node, ErrorMessages.cannotResolve(name));
@@ -11119,9 +10753,8 @@ ResolverVisitor.prototype.visitSend = function(node) {
return this.useElement(node, target);
}
ResolverVisitor.prototype.visitSendSet = function(node) {
- var $0;
- var receiver = (($0 = this.visit(node.receiver)) && $0.is$Element());
- var selector = (($0 = node.selector) && $0.is$Identifier());
+ var receiver = this.visit(node.receiver);
+ var selector = node.selector;
if (receiver != null) {
this.compiler.unimplemented('Resolver: property access');
}
@@ -11143,10 +10776,9 @@ ResolverVisitor.prototype.visitLiteralString = function(node) {
}
ResolverVisitor.prototype.visitNodeList = function(node) {
- var $0;
for (var link = node.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- this.visit((($0 = link.get$head()) && $0.is$Node()));
+ !link.isEmpty(); link = link.get$tail()) {
+ this.visit(link.get$head());
}
}
ResolverVisitor.prototype.visitOperator = function(node) {
@@ -11160,8 +10792,8 @@ ResolverVisitor.prototype.visitThrow = function(node) {
}
ResolverVisitor.prototype.visitTypeAnnotation = function(node) {
var name = node.typeName;
- if ($notnull_bool($eq(name.get$source(), const$261/*const SourceString('var')*/))) return null;
- if ($notnull_bool($eq(name.get$source(), const$4/*const SourceString('void')*/))) return null;
+ if ($eq(name.get$source(), const$261/*const SourceString('var')*/)) return null;
+ if ($eq(name.get$source(), const$4/*const SourceString('void')*/)) return null;
var element = this.context.lookup(name.get$source());
if (element == null) {
this.warning(node, ErrorMessages.cannotResolveType(name));
@@ -11170,7 +10802,7 @@ ResolverVisitor.prototype.visitTypeAnnotation = function(node) {
this.warning(node, ErrorMessages.notAType(name));
}
else {
- var cls = (element && element.is$ClassElement());
+ var cls = element;
this.compiler.resolver.toResolve.add(element);
}
return this.useElement(node, element);
@@ -11181,10 +10813,9 @@ ResolverVisitor.prototype.visitVariableDefinitions = function(node) {
visitor.visit(node.definitions);
}
ResolverVisitor.prototype.defineElement = function(node, element) {
- var $0;
this.compiler.ensure(element != null);
this.mapping.$setindex(node, element);
- return (($0 = this.context.add(element)) && $0.is$Element());
+ return this.context.add(element);
}
ResolverVisitor.prototype.useElement = function(node, element) {
if (element == null) return null;
@@ -11192,7 +10823,7 @@ ResolverVisitor.prototype.useElement = function(node, element) {
return element;
}
ResolverVisitor.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$Node()));
+ return this.visit($0);
};
// ********** Code for ClassResolverVisitor **************
function ClassResolverVisitor(compiler) {
@@ -11200,21 +10831,18 @@ function ClassResolverVisitor(compiler) {
this.context = new TopScope(compiler.universe);
// Initializers done
}
-ClassResolverVisitor.prototype.is$Visitor = function(){return this;};
ClassResolverVisitor.prototype.visitClassNode = function(node) {
- var $0;
- var element = (($0 = this.context.lookup(node.name.get$source())) && $0.is$ClassElement());
+ var element = this.context.lookup(node.name.get$source());
this.compiler.ensure(element != null);
- this.compiler.ensure(!$notnull_bool(element.isResolved));
+ this.compiler.ensure(!element.isResolved);
element.supertype = this.visit(node.superclass);
for (var link = node.interfaces.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- element.interfaces = (($0 = element.interfaces.prepend(this.visit((($0 = link.get$head()) && $0.is$Node())))) && $0.is$Link$Type());
+ !link.isEmpty(); link = link.get$tail()) {
+ element.interfaces = element.interfaces.prepend(this.visit(link.get$head()));
}
return element.computeType(this.compiler, null);
}
ClassResolverVisitor.prototype.visitTypeAnnotation = function(node) {
- var $0;
var name = node.typeName;
var element = this.context.lookup(name.get$source());
if (element == null) {
@@ -11225,17 +10853,16 @@ ClassResolverVisitor.prototype.visitTypeAnnotation = function(node) {
}
else {
this.compiler.resolver.toResolve.add(element);
- return (($0 = element.computeType(this.compiler, null)) && $0.is$Type());
+ return element.computeType(this.compiler, null);
}
return null;
}
ClassResolverVisitor.prototype.visit = function(node) {
- var $0;
if (node == null) return null;
- return (($0 = node.accept(this)) && $0.is$Type());
+ return node.accept(this);
}
ClassResolverVisitor.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$Node()));
+ return this.visit($0);
};
// ********** Code for VariableDefinitionsVisitor **************
function VariableDefinitionsVisitor(definitions, resolver) {
@@ -11243,27 +10870,23 @@ function VariableDefinitionsVisitor(definitions, resolver) {
this.resolver = resolver;
// Initializers done
}
-VariableDefinitionsVisitor.prototype.is$Visitor = function(){return this;};
VariableDefinitionsVisitor.prototype.visitSendSet = function(node) {
- var $0;
- $assert(node.get$arguments().get$tail().isEmpty$0(), "node.arguments.tail.isEmpty()", "resolver.dart", 269, 12);
if (node.receiver != null) {
this.resolver.compiler.unimplemented("receiver on a variable definition");
}
- var selector = (($0 = node.selector) && $0.is$Identifier());
- this.resolver.visit((($0 = node.get$arguments().get$head()) && $0.is$Node()));
- return (($0 = this.visit(node.selector)) && $0.is$SourceString());
+ var selector = node.selector;
+ this.resolver.visit(node.get$arguments().get$head());
+ return this.visit(node.selector);
}
VariableDefinitionsVisitor.prototype.visitIdentifier = function(node) {
return node.get$source();
}
VariableDefinitionsVisitor.prototype.visitNodeList = function(node) {
- var $0;
for (var link = node.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- var name = (($0 = this.visit((($0 = link.get$head()) && $0.is$Node()))) && $0.is$SourceString());
- var element = new VariableElement((($0 = link.get$head()) && $0.is$Node()), this.definitions.type, name, this.resolver.context.enclosingElement);
- var existing = this.resolver.defineElement((($0 = link.get$head()) && $0.is$Node()), element);
+ !link.isEmpty(); link = link.get$tail()) {
+ var name = this.visit(link.get$head());
+ var element = new VariableElement(link.get$head(), this.definitions.type, name, this.resolver.context.enclosingElement);
+ var existing = this.resolver.defineElement(link.get$head(), element);
if ($ne(existing, element)) {
this.resolver.fail(node, ErrorMessages.duplicateDefinition(link.get$head()));
}
@@ -11273,7 +10896,7 @@ VariableDefinitionsVisitor.prototype.visit = function(node) {
return node.accept(this);
}
VariableDefinitionsVisitor.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$Node()));
+ return this.visit($0);
};
// ********** Code for Scope **************
function Scope(parent) {
@@ -11296,22 +10919,20 @@ Scope.enclosing$ctor = function(parent, enclosingElement) {
Scope.enclosing$ctor.prototype = Scope.prototype;
Scope.prototype.get$parent = function() { return this.parent; };
Scope.prototype.lookup = function(name) {
- var $0;
- var element = (($0 = this.elements.$index(name)) && $0.is$Element());
+ var element = this.elements.$index(name);
if (element != null) return element;
return this.parent.lookup(name);
}
Scope.prototype.add = function(element) {
- var $0;
- if (this.elements.containsKey(element.name)) return (($0 = this.elements.$index(element.name)) && $0.is$Element());
+ if (this.elements.containsKey(element.name)) return this.elements.$index(element.name);
this.elements.$setindex(element.name, element);
return element;
}
Scope.prototype.add$1 = function($0) {
- return this.add(($0 && $0.is$Element()));
+ return this.add($0);
};
Scope.prototype.lookup$1 = function($0) {
- return this.lookup(($0 && $0.is$SourceString()));
+ return this.lookup($0);
};
// ********** Code for TopScope **************
function TopScope(universe) {
@@ -11327,10 +10948,10 @@ TopScope.prototype.add = function(element) {
$throw("Cannot add an element in the top scope");
}
TopScope.prototype.add$1 = function($0) {
- return this.add(($0 && $0.is$Element()));
+ return this.add($0);
};
TopScope.prototype.lookup$1 = function($0) {
- return this.lookup(($0 && $0.is$SourceString()));
+ return this.lookup($0);
};
// ********** Code for leg_Script **************
function leg_Script(file) {
@@ -11400,7 +11021,6 @@ SimpleType.named$ctor = function(name) {
// Initializers done
}
SimpleType.named$ctor.prototype = SimpleType.prototype;
-SimpleType.prototype.is$Type = function(){return this;};
SimpleType.prototype.get$name = function() { return this.name; };
SimpleType.prototype.get$element = function() { return this.element; };
SimpleType.prototype.toString = function() {
@@ -11415,8 +11035,6 @@ function FunctionType(returnType, parameterTypes) {
this.parameterTypes = parameterTypes;
// Initializers done
}
-FunctionType.prototype.is$FunctionType = function(){return this;};
-FunctionType.prototype.is$Type = function(){return this;};
FunctionType.prototype.get$returnType = function() { return this.returnType; };
FunctionType.prototype.toString = function() {
var sb = new StringBufferImpl("");
@@ -11437,18 +11055,17 @@ function Types() {
this.stringType = new SimpleType.named$ctor(const$10/*Types.STRING*/);
// Initializers done
}
-Types.prototype.is$Types = function(){return this;};
Types.prototype.lookup = function(s) {
- if ($notnull_bool($eq(const$4/*Types.VOID*/, s))) {
+ if ($eq(const$4/*Types.VOID*/, s)) {
return this.voidType;
}
- else if ($notnull_bool($eq(const$6/*Types.INT*/, s))) {
+ else if ($eq(const$6/*Types.INT*/, s)) {
return this.intType;
}
- else if ($notnull_bool($eq(const$8/*Types.DYNAMIC*/, s)) || s.get$stringValue() === 'var') {
+ else if ($eq(const$8/*Types.DYNAMIC*/, s) || s.get$stringValue() === 'var') {
return this.dynamicType;
}
- else if ($notnull_bool($eq(const$10/*Types.STRING*/, s))) {
+ else if ($eq(const$10/*Types.STRING*/, s)) {
return this.stringType;
}
return null;
@@ -11457,10 +11074,10 @@ Types.prototype.isSubtype = function(r, s) {
return r === s || r === this.dynamicType || s === this.dynamicType;
}
Types.prototype.isAssignable = function(r, s) {
- return $notnull_bool(this.isSubtype(r, s)) || $notnull_bool(this.isSubtype(s, r));
+ return this.isSubtype(r, s) || this.isSubtype(s, r);
}
Types.prototype.lookup$1 = function($0) {
- return this.lookup(($0 && $0.is$SourceString()));
+ return this.lookup($0);
};
// ********** Code for CancelTypeCheckException **************
function CancelTypeCheckException(node, reason) {
@@ -11475,7 +11092,6 @@ function TypeCheckerVisitor(compiler, elements, types) {
this.types = types;
// Initializers done
}
-TypeCheckerVisitor.prototype.is$Visitor = function(){return this;};
TypeCheckerVisitor.prototype.fail = function(node, reason) {
var message = 'cannot type-check';
if (reason != null) {
@@ -11497,16 +11113,12 @@ TypeCheckerVisitor.prototype.typeWithDefault = function(node, defaultValue) {
return node != null ? this.type(node) : defaultValue;
}
TypeCheckerVisitor.prototype.type = function(node) {
- var $0;
if (node == null) this.fail(null, 'unexpected node: null');
- var result = (($0 = node.accept(this)) && $0.is$Type());
+ var result = node.accept(this);
return result;
}
-TypeCheckerVisitor.prototype.get$type = function() {
- return TypeCheckerVisitor.prototype.type.bind(this);
-}
TypeCheckerVisitor.prototype.checkAssignable = function(node, s, t) {
- if (!$notnull_bool(this.types.isAssignable(s, t))) {
+ if (!this.types.isAssignable(s, t)) {
this.reportTypeWarning(node, const$270/*WarningKind.NOT_ASSIGNABLE*/, [s, t]);
}
}
@@ -11524,8 +11136,7 @@ TypeCheckerVisitor.prototype.visitFor = function(node) {
this.fail(node);
}
TypeCheckerVisitor.prototype.visitFunctionExpression = function(node) {
- var $0;
- var functionType = (($0 = this.elements.$index(node.name).computeType$2(this.compiler, this.types)) && $0.is$FunctionType());
+ var functionType = this.elements.$index(node.name).computeType$2(this.compiler, this.types);
var returnType = functionType.returnType;
var previous = this.expectedReturnType;
this.expectedReturnType = returnType;
@@ -11539,23 +11150,22 @@ TypeCheckerVisitor.prototype.visitIdentifier = function(node) {
TypeCheckerVisitor.prototype.visitIf = function(node) {
this.type(node.condition);
this.type(node.thenPart);
- if ($notnull_bool(node.get$hasElsePart())) this.type(node.elsePart);
+ if (node.get$hasElsePart()) this.type(node.elsePart);
return this.types.voidType;
}
TypeCheckerVisitor.prototype.visitSend = function(node) {
- var $0;
var target = this.elements.$index(node);
- var selector = (($0 = node.selector) && $0.is$Identifier());
+ var selector = node.selector;
if (target != null) {
var name = selector.get$source();
- if ($notnull_bool($eq(name, const$247/*const SourceString('+')*/)) || $notnull_bool($eq(name, const$274/*const SourceString('=')*/)) || $notnull_bool($eq(name, const$249/*const SourceString('-')*/)) || $notnull_bool($eq(name, const$251/*const SourceString('*')*/)) || $notnull_bool($eq(name, const$253/*const SourceString('/')*/)) || $notnull_bool($eq(name, const$259/*const SourceString('<')*/)) || $notnull_bool($eq(name, const$255/*const SourceString('~/')*/))) {
+ if ($eq(name, const$247/*const SourceString('+')*/) || $eq(name, const$274/*const SourceString('=')*/) || $eq(name, const$249/*const SourceString('-')*/) || $eq(name, const$251/*const SourceString('*')*/) || $eq(name, const$253/*const SourceString('/')*/) || $eq(name, const$259/*const SourceString('<')*/) || $eq(name, const$255/*const SourceString('~/')*/)) {
return this.types.dynamicType;
}
var targetType = target.computeType$2(this.compiler, this.types);
- if ($notnull_bool(node.get$isPropertyAccess())) {
- return (targetType && targetType.is$Type());
+ if (node.get$isPropertyAccess()) {
+ return targetType;
}
- else if ($notnull_bool(node.get$isFunctionObjectInvocation())) {
+ else if (node.get$isFunctionObjectInvocation()) {
this.fail(node);
}
else {
@@ -11565,21 +11175,21 @@ TypeCheckerVisitor.prototype.visitSend = function(node) {
}
this.fail(node, 'can only handle function types');
}
- var funType = (targetType && targetType.is$FunctionType());
+ var funType = targetType;
var formals = funType.parameterTypes;
var arguments = node.get$arguments();
- while ((!$notnull_bool(formals.isEmpty())) && (!$notnull_bool(arguments.isEmpty()))) {
- var argument = (($0 = arguments.get$head()) && $0.is$Node());
+ while ((!formals.isEmpty()) && (!arguments.isEmpty())) {
+ var argument = arguments.get$head();
var argumentType = this.type(argument);
- this.checkAssignable(argument, argumentType, (($0 = formals.get$head()) && $0.is$Type()));
- formals = (($0 = formals.get$tail()) && $0.is$Link$Type());
- arguments = (($0 = arguments.get$tail()) && $0.is$Link$Node());
+ this.checkAssignable(argument, argumentType, formals.get$head());
+ formals = formals.get$tail();
+ arguments = arguments.get$tail();
}
- if (!$notnull_bool(formals.isEmpty())) {
+ if (!formals.isEmpty()) {
this.compiler.reportWarning(node, 'missing argument');
}
- if (!$notnull_bool(arguments.isEmpty())) {
- this.compiler.reportWarning((($0 = arguments.get$head()) && $0.is$Node()), 'additional arguments');
+ if (!arguments.isEmpty()) {
+ this.compiler.reportWarning(arguments.get$head(), 'additional arguments');
}
return funType.returnType;
}
@@ -11589,10 +11199,9 @@ TypeCheckerVisitor.prototype.visitSend = function(node) {
}
}
TypeCheckerVisitor.prototype.visitSendSet = function(node) {
- var $0;
- this.compiler.ensure(node.get$arguments() != null && !$notnull_bool(node.get$arguments().isEmpty()));
- var targetType = (($0 = this.elements.$index(node).computeType$2(this.compiler, this.types)) && $0.is$Type());
- var value = (($0 = node.get$arguments().get$head()) && $0.is$Node());
+ this.compiler.ensure(node.get$arguments() != null && !node.get$arguments().isEmpty());
+ var targetType = this.elements.$index(node).computeType$2(this.compiler, this.types);
+ var value = node.get$arguments().get$head();
this.checkAssignable(value, this.type(value), targetType);
return targetType;
}
@@ -11609,10 +11218,9 @@ TypeCheckerVisitor.prototype.visitLiteralString = function(node) {
return this.types.stringType;
}
TypeCheckerVisitor.prototype.visitNodeList = function(node) {
- var $0;
for (var link = node.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- this.type((($0 = link.get$head()) && $0.is$Node()));
+ !link.isEmpty(); link = link.get$tail()) {
+ this.type(link.get$head());
}
return null;
}
@@ -11624,14 +11232,14 @@ TypeCheckerVisitor.prototype.visitReturn = function(node) {
var isVoidFunction = (this.expectedReturnType === this.types.voidType);
if (expression != null) {
var expressionType = this.type(expression);
- if (isVoidFunction && !$notnull_bool(this.types.isAssignable(expressionType, this.types.voidType))) {
+ if (isVoidFunction && !this.types.isAssignable(expressionType, this.types.voidType)) {
this.reportTypeWarning(expression, const$268/*WarningKind.RETURN_VALUE_IN_VOID*/, const$13/*const []*/);
}
else {
this.checkAssignable(expression, expressionType, this.expectedReturnType);
}
}
- else if (!$notnull_bool(this.types.isAssignable(this.expectedReturnType, this.types.voidType))) {
+ else if (!this.types.isAssignable(this.expectedReturnType, this.types.voidType)) {
this.reportTypeWarning(node, const$272/*WarningKind.RETURN_NOTHING*/, [this.expectedReturnType]);
}
return null;
@@ -11648,18 +11256,17 @@ TypeCheckerVisitor.prototype.visitTypeAnnotation = function(node) {
return type;
}
TypeCheckerVisitor.prototype.visitVariableDefinitions = function(node) {
- var $0;
var type = this.typeWithDefault(node.type, this.types.dynamicType);
if ($eq(type, this.types.voidType)) {
this.reportTypeWarning(node.type, const$275/*WarningKind.VOID_VARIABLE*/, const$13/*const []*/);
type = this.types.dynamicType;
}
for (var link = node.definitions.nodes;
- !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$Node())) {
- var initialization = (($0 = link.get$head()) && $0.is$Node());
+ !link.isEmpty(); link = link.get$tail()) {
+ var initialization = link.get$head();
this.compiler.ensure((initialization instanceof Identifier) || (initialization instanceof Send));
if ((initialization instanceof Send)) {
- var initializer = this.nonVoidType((($0 = link.get$head()) && $0.is$Node()));
+ var initializer = this.nonVoidType(link.get$head());
this.checkAssignable(node, type, initializer);
}
}
@@ -11673,11 +11280,9 @@ function Universe() {
// Initializers done
}
Universe.prototype.find = function(name) {
- var $0;
- return (($0 = this.elements.$index(name)) && $0.is$Element());
+ return this.elements.$index(name);
}
Universe.prototype.define = function(element) {
- $assert(this.elements.$index(element.name) == null, "elements[element.name] == null", "universe.dart", 20, 12);
this.elements.$setindex(element.name, element);
}
Universe.prototype.addGeneratedCode = function(element, code) {
@@ -11702,7 +11307,6 @@ function CodeWriter() {
this._buf = new StringBufferImpl("");
// Initializers done
}
-CodeWriter.prototype.is$CodeWriter = function(){return this;};
CodeWriter.prototype.get$text = function() {
return this._buf.toString();
}
@@ -11714,20 +11318,20 @@ CodeWriter.prototype._indent = function() {
}
}
CodeWriter.prototype.comment = function(text) {
- if ($notnull_bool(this.writeComments)) {
+ if (this.writeComments) {
this.writeln(text);
}
}
CodeWriter.prototype.write = function(text) {
if (text.length == 0) return;
- if ($notnull_bool(this._pendingIndent)) this._indent();
+ if (this._pendingIndent) this._indent();
if (text.indexOf('\n', 0) != -1) {
var lines = text.split('\n');
for (var i = 0;
i < lines.length - 1; i++) {
- this.writeln($assert_String(lines.$index(i)));
+ this.writeln(lines.$index(i));
}
- this.write($assert_String(lines.$index(lines.length - 1)));
+ this.write(lines.$index(lines.length - 1));
}
else {
this._buf.add(text);
@@ -11771,7 +11375,7 @@ function CoreJs() {
// Initializers done
}
CoreJs.prototype.useOperator = function(name) {
- if ($notnull_bool($ne(this._usedOperators.$index(name), null))) return;
+ if ($ne(this._usedOperators.$index(name), null)) return;
var code;
switch (name) {
case '\$ne':
@@ -11820,54 +11424,54 @@ CoreJs.prototype.useOperator = function(name) {
this._usedOperators.$setindex(name, code);
}
CoreJs.prototype.generate = function(w) {
- if ($notnull_bool(this.useVarMethod)) {
+ if (this.useVarMethod) {
this.useTypeNameOf = true;
w.writeln("function $varMethod(name, methods) {\n Object.prototype[name] = function() {\n $patchMethod(this, name, methods);\n return this[name].apply(this, Array.prototype.slice.call(arguments));\n };\n}\nfunction $patchMethod(obj, name, methods) {\n // Get the prototype to patch.\n // Don't overwrite an existing stub, like the one on Object.prototype\n var proto = Object.getPrototypeOf(obj);\n if (!proto || proto.hasOwnProperty(name)) proto = obj;\n var method;\n while (obj && !(method = methods[obj.$typeNameOf()])) {\n obj = Object.getPrototypeOf(obj);\n }\n obj[name] = method || methods['Object'];\n}");
}
- if ($notnull_bool(this.useGenStub)) {
+ if (this.useGenStub) {
this.useThrow = true;
w.writeln("/**\n * Generates a dynamic call stub for a function.\n * Our goal is to create a stub method like this on-the-fly:\n * function($0, $1, capture) { this($0, $1, true, capture); }\n *\n * This stub then replaces the dynamic one on Function, with one that is\n * specialized for that particular function, taking into account its default\n * arguments.\n */\nFunction.prototype.$genStub = function(argsLength, names) {\n // TODO(jmesserly): only emit $genStub if actually needed\n\n // Fast path: if no named arguments and arg count matches\n if (this.length == argsLength && !names) {\n return this;\n }\n\n function $throwArgMismatch() {\n // TODO(jmesserly): better error message\n $throw(new ClosureArgumentMismatchException());\n }\n\n var paramsNamed = this.$optional ? (this.$optional.length / 2) : 0;\n var paramsBare = this.length - paramsNamed;\n var argsNamed = names ? names.length : 0;\n var argsBare = argsLength - argsNamed;\n\n // Check we got the right number of arguments\n if (argsBare < paramsBare || argsLength > this.length ||\n argsNamed > paramsNamed) {\n return $throwArgMismatch;\n }\n\n // First, fill in all of the default values\n var p = new Array(paramsBare);\n if (paramsNamed) {\n p = p.concat(this.$optional.slice(paramsNamed));\n }\n // Fill in positional args\n var a = new Array(argsLength);\n for (var i = 0; i < argsBare; i++) {\n p[i] = a[i] = '$' + i;\n }\n // Then overwrite with supplied values for optional args\n var lastParameterIndex;\n var namesInOrder = true;\n for (var i = 0; i < argsNamed; i++) {\n var name = names[i];\n a[i + argsBare] = name;\n var j = this.$optional.indexOf(name, 0);\n if (j < 0 || j >= paramsNamed) {\n return $throwArgMismatch;\n } else if (lastParameterIndex && lastParameterIndex > j) {\n namesInOrder = false;\n }\n p[j + paramsBare] = name;\n lastParameterIndex = j;\n }\n\n if (this.length == argsLength && namesInOrder) {\n // Fast path #2: named arguments, but they're in order.\n return this;\n }\n\n // Note: using Function instead of 'eval' to get a clean scope.\n // TODO(jmesserly): evaluate the performance of these stubs.\n var f = 'function(' + a.join(',') + '){return $f(' + p.join(',') + ');}';\n return new Function('$f', 'return ' + f + '').call(null, this);\n}");
}
- if ($notnull_bool(this.useStackTraceOf)) {
+ if (this.useStackTraceOf) {
w.writeln("function $stackTraceOf(e) {\n // TODO(jmesserly): we shouldn't be relying on the e.stack property.\n // Need to mangle it.\n return e.stack ? e.stack : null;\n}");
}
- if ($notnull_bool(this.useToDartException)) {
+ if (this.useToDartException) {
w.writeln("// Translate a JavaScript exception to a Dart exception\n// TODO(jmesserly): cross browser support. This is Chrome specific.\nfunction $toDartException(e) {\n var res = e;\n if (e instanceof TypeError) {\n switch(e.type) {\n case 'property_not_function':\n case 'called_non_callable':\n if (e.arguments[0] == null) {\n res = new NullPointerException();\n } else {\n res = new ObjectNotClosureException();\n }\n break;\n case 'non_object_property_call':\n case 'non_object_property_load':\n res = new NullPointerException();\n break;\n case 'undefined_method':\n if (e.arguments[0] == 'call' || e.arguments[0] == 'apply') {\n res = new ObjectNotClosureException();\n } else {\n // TODO(jmesserly): can this ever happen?\n res = new NoSuchMethodException('', e.arguments[0], []);\n }\n break;\n }\n } else if (e instanceof RangeError) {\n if (e.message.indexOf('call stack') >= 0) {\n res = new StackOverflowException();\n }\n }\n // TODO(jmesserly): setting the stack property is not a long term solution.\n // Also it causes the exception to print as if it were a TypeError or\n // RangeError, instead of using the proper toString.\n res.stack = e.stack;\n return res;\n}");
}
- if ($notnull_bool(this.useNotNullBool)) {
+ if (this.useNotNullBool) {
this.useThrow = true;
w.writeln("function $notnull_bool(test) {\n return (test === true || test === false) ? test : test.is$bool(); // TypeError\n}");
}
- if ($notnull_bool(this.useAssert)) {
+ if (this.useAssert) {
this.useThrow = true;
w.writeln("function $assert(test, text, url, line, column) {\n if (typeof test == 'function') test = test();\n if (!test) $throw(new AssertError(text, url, line, column));\n}");
}
- if ($notnull_bool(this.useThrow)) {
+ if (this.useThrow) {
w.writeln("function $throw(e) {\n // If e is not a value, we can use V8's captureStackTrace utility method.\n // TODO(jmesserly): capture the stack trace on other JS engines.\n if (e && (typeof e == 'object') && Error.captureStackTrace) {\n // TODO(jmesserly): this will clobber the e.stack property\n Error.captureStackTrace(e, $throw);\n }\n throw e;\n}");
}
- if ($notnull_bool(this.useMap)) {
+ if (this.useMap) {
w.writeln("function $map(items) {\n var ret = new HashMapImplementation();\n for (var i=0; i < items.length;) {\n ret.$setindex(items[i++], items[i++]);\n }\n return ret;\n}");
}
- if ($notnull_bool(this.useToString)) {
+ if (this.useToString) {
w.writeln("function $toString(o) {\n if (o == null) return 'null';\n var t = typeof(o);\n if (t == 'object') { return o.toString(); }\n else if (t == 'string') { return o; }\n else if (t == 'bool') { return ''+o; }\n else if (t == 'number') { return ''+o; }\n else return o.toString();\n}");
}
- if ($notnull_bool(this.useTypeNameOf)) {
+ if (this.useTypeNameOf) {
w.writeln("Object.prototype.$typeNameOf = function() {\n if ((typeof(window) != 'undefined' && window.constructor.name == 'DOMWindow')\n || typeof(process) != 'undefined') { // fast-path for Chrome and Node\n return this.constructor.name;\n }\n var str = Object.prototype.toString.call(this);\n return str.substring(8, str.length - 1);\n}");
}
- if ($notnull_bool(this.useIndex)) {
+ if (this.useIndex) {
w.writeln("Object.prototype.$index = function(i) { return this[i]; }\nArray.prototype.$index = function(i) { return this[i]; }\nString.prototype.$index = function(i) { return this[i]; }");
}
- if ($notnull_bool(this.useSetIndex)) {
+ if (this.useSetIndex) {
w.writeln("Object.prototype.$setindex = function(i, value) { return this[i] = value; }\nArray.prototype.$setindex = function(i, value) { return this[i] = value; }");
}
var $list = orderValuesByKeys(this._usedOperators);
for (var $i = 0;$i < $list.length; $i++) {
var opImpl = $list.$index($i);
- w.writeln($assert_String(opImpl));
+ w.writeln(opImpl);
}
}
CoreJs.prototype.generate$1 = function($0) {
- return this.generate(($0 && $0.is$CodeWriter()));
+ return this.generate($0);
};
// ********** Code for WorldGenerator **************
function WorldGenerator(main, writer) {
@@ -11879,15 +11483,14 @@ function WorldGenerator(main, writer) {
// Initializers done
}
WorldGenerator.prototype.run = function() {
- var $0;
var metaGen = new MethodGenerator(this.main, null);
- var mainCall = this.main.invoke((metaGen && metaGen.is$MethodGenerator()), null, null, Arguments.get$EMPTY(), false);
+ var mainCall = this.main.invoke(metaGen, null, null, Arguments.get$EMPTY(), false);
this.main.declaringType.markUsed();
world.corelib.types.$index('BadNumberFormatException').markUsed$0();
world.get$coreimpl().types.$index('NumImplementation').markUsed$0();
world.get$coreimpl().types.$index('StringImplementation').markUsed$0();
world.get$coreimpl().types.$index('MatchImplementation').markUsed$0();
- this.genMethod((($0 = world.get$coreimpl().types.$index('MatchImplementation').getConstructor$1('')) && $0.is$Member()));
+ this.genMethod(world.get$coreimpl().types.$index('MatchImplementation').getConstructor$1(''));
this.writeTypes(world.get$coreimpl());
this.writeTypes(world.corelib);
this.writeTypes(this.main.declaringType.get$library());
@@ -11895,23 +11498,21 @@ WorldGenerator.prototype.run = function() {
this.writer.writeln(('RunEntry(function() {' + mainCall.code + ';}, []);'));
}
WorldGenerator.prototype.globalForStaticField = function(field, fieldValue, dependencies) {
- var $0;
var fullname = ("" + field.declaringType.get$jsname() + "." + field.get$jsname() + "");
if (!this.globals.containsKey(fullname)) {
this.globals.$setindex(fullname, GlobalValue.GlobalValue$fromStatic$factory(field, fieldValue, dependencies));
}
- return (($0 = this.globals.$index(fullname)) && $0.is$GlobalValue());
+ return this.globals.$index(fullname);
}
WorldGenerator.prototype.globalForConst = function(exp, dependencies) {
- var $0;
var code = exp.canonicalCode;
if (!this.globals.containsKey(code)) {
this.globals.$setindex(code, GlobalValue.GlobalValue$fromConst$factory(this.globals.get$length(), exp, dependencies));
}
- return (($0 = this.globals.$index(code)) && $0.is$GlobalValue());
+ return this.globals.$index(code);
}
WorldGenerator.prototype.writeTypes = function(lib) {
- if ($notnull_bool(lib.isWritten)) return;
+ if (lib.isWritten) return;
lib.isWritten = true;
var $list = lib.imports;
for (var $i = 0;$i < $list.length; $i++) {
@@ -11923,7 +11524,7 @@ WorldGenerator.prototype.writeTypes = function(lib) {
lib.sources.$index(i).orderInLibrary = i;
}
this.writer.comment(('// ********** Library ' + lib.name + ' **************'));
- if ($notnull_bool(lib.get$isCore())) {
+ if (lib.get$isCore()) {
this.writer.comment('// ********** Natives dart:core **************');
this.corejs.generate(this.writer);
}
@@ -11938,19 +11539,19 @@ WorldGenerator.prototype.writeTypes = function(lib) {
var $list = this._orderValues(lib.types);
for (var $i = 0;$i < $list.length; $i++) {
var type = $list.$index($i);
- if ($notnull_bool(type.get$isUsed()) && $notnull_bool(type.get$isClass())) {
- this.writeType((type && type.is$lang_Type()));
- if ($notnull_bool(type.get$isGeneric())) {
+ if (type.get$isUsed() && type.get$isClass()) {
+ this.writeType(type);
+ if (type.get$isGeneric()) {
var $list0 = this._orderValues(type._concreteTypes);
for (var $i0 = 0;$i0 < $list0.length; $i0++) {
var ct = $list0.$index($i0);
- this.writeType((ct && ct.is$lang_Type()));
+ this.writeType(ct);
}
}
}
- if ($notnull_bool(type.get$isFunction()) && type.varStubs != null) {
+ if (type.get$isFunction() && type.varStubs != null) {
this.writer.comment(('// ********** Code for ' + type.get$jsname() + ' **************'));
- this._writeDynamicStubs((type && type.is$lang_Type()));
+ this._writeDynamicStubs(type);
}
if (type.typeCheckCode != null) {
this.writer.writeln(type.typeCheckCode);
@@ -11958,46 +11559,45 @@ WorldGenerator.prototype.writeTypes = function(lib) {
}
}
WorldGenerator.prototype.genMethod = function(meth, enclosingMethod) {
- if (!$notnull_bool(meth.isGenerated) && !$notnull_bool(meth.get$isAbstract()) && $notnull_bool($ne(meth.get$definition(), null))) {
+ if (!meth.isGenerated && !meth.get$isAbstract() && $ne(meth.get$definition(), null)) {
new MethodGenerator(meth, enclosingMethod).run();
}
}
WorldGenerator.prototype._maybeIsTest = function(onType, checkType) {
- if (!$notnull_bool(checkType.isTested)) return;
+ if (!checkType.isTested) return;
var value = 'false';
- if ($notnull_bool(onType.isSubtypeOf(checkType))) {
+ if (onType.isSubtypeOf(checkType)) {
value = 'function(){return this;}';
}
this.writer.writeln(('' + onType.get$jsname() + '.prototype.is\$' + checkType.get$jsname() + ' = ') + ('' + value + ';'));
}
WorldGenerator.prototype.writeType = function(type) {
- var $0;
if (type.name != null && (type instanceof ConcreteType) && $eq(type.get$library(), world.get$coreimpl()) && type.name.startsWith('ListFactory')) {
this.writer.writeln(('' + type.get$jsname() + ' = ' + type.get$genericType().get$jsname() + ';'));
return;
}
var typeName = type.get$jsname() != null ? type.get$jsname() : 'top level';
this.writer.comment(('// ********** Code for ' + typeName + ' **************'));
- if ($notnull_bool(type.get$isNativeType()) && !$notnull_bool(type.get$isTop())) {
+ if (type.get$isNativeType() && !type.get$isTop()) {
var nativeName = type.get$definition().get$nativeType();
- if ($notnull_bool($eq(nativeName, ''))) {
+ if ($eq(nativeName, '')) {
this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
}
else if (type.get$jsname() != nativeName) {
this.writer.writeln(('' + type.get$jsname() + ' = ' + nativeName + ';'));
}
}
- if ($notnull_bool(type.get$isTop())) {
+ if (type.get$isTop()) {
}
else if (type.get$constructors().get$length() == 0) {
- if (!$notnull_bool(type.get$isNativeType())) {
+ if (!type.get$isNativeType()) {
this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
}
}
else {
- var standardConstructor = (($0 = type.get$constructors().$index('')) && $0.is$Member());
+ var standardConstructor = type.get$constructors().$index('');
if (standardConstructor == null || standardConstructor.generator == null) {
- if (!$notnull_bool(type.get$isNativeType())) {
+ if (!type.get$isNativeType()) {
this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
}
}
@@ -12007,18 +11607,18 @@ WorldGenerator.prototype.writeType = function(type) {
var $list = type.get$constructors().getValues();
for (var $i = type.get$constructors().getValues().iterator$0(); $i.hasNext$0(); ) {
var c = $i.next$0();
- if ($notnull_bool($ne(c.generator, null)) && $notnull_bool($ne(c, standardConstructor))) {
+ if ($ne(c.generator, null) && $ne(c, standardConstructor)) {
c.generator.writeDefinition$2(this.writer);
}
}
}
- if (!$notnull_bool(type.get$isTop())) {
+ if (!type.get$isTop()) {
if ((type instanceof ConcreteType)) {
this._ensureInheritsHelper();
this.writer.writeln(('\$inherits(' + type.get$jsname() + ', ' + type.get$genericType().get$jsname() + ');'));
}
- else if (!$notnull_bool(type.get$isNativeType())) {
- if (type.get$parent() != null && !$notnull_bool(type.get$parent().get$isObject())) {
+ else if (!type.get$isNativeType()) {
+ if (type.get$parent() != null && !type.get$parent().get$isObject()) {
this._ensureInheritsHelper();
this.writer.writeln(('\$inherits(' + type.get$jsname() + ', ' + type.get$parent().get$jsname() + ');'));
}
@@ -12031,7 +11631,7 @@ WorldGenerator.prototype.writeType = function(type) {
var $list = this._orderValues(type.get$genericType()._concreteTypes);
for (var $i = 0;$i < $list.length; $i++) {
var ct = $list.$index($i);
- this._maybeIsTest(type, (ct && ct.is$lang_Type()));
+ this._maybeIsTest(type, ct);
}
}
if (type.get$interfaces() != null) {
@@ -12046,7 +11646,7 @@ WorldGenerator.prototype.writeType = function(type) {
var $list = this._orderValues(interface_.get$genericType()._concreteTypes);
for (var $i = 0;$i < $list.length; $i++) {
var ct = $list.$index($i);
- this._maybeIsTest(type, (ct && ct.is$lang_Type()));
+ this._maybeIsTest(type, ct);
}
}
var $list = interface_.get$interfaces();
@@ -12064,19 +11664,19 @@ WorldGenerator.prototype.writeType = function(type) {
for (var $i = 0;$i < $list.length; $i++) {
var member = $list.$index($i);
if ((member instanceof FieldMember)) {
- this._writeField((member && member.is$FieldMember()));
+ this._writeField(member);
}
if ((member instanceof PropertyMember)) {
- this._writeProperty((member && member.is$PropertyMember()));
+ this._writeProperty(member);
}
- if ($notnull_bool(member.get$isMethod())) {
- this._writeMethod((member && member.is$Member()));
+ if (member.get$isMethod()) {
+ this._writeMethod(member);
}
}
this._writeDynamicStubs(type);
}
WorldGenerator.prototype._ensureInheritsHelper = function() {
- if ($notnull_bool(this._inheritsGenerated)) return;
+ if (this._inheritsGenerated) return;
this._inheritsGenerated = true;
this.writer.writeln("/** Implements extends for Dart classes on JavaScript prototypes. */\nfunction $inherits(child, parent) {\n if (child.prototype.__proto__) {\n child.prototype.__proto__ = parent.prototype;\n } else {\n function tmp() {};\n tmp.prototype = parent.prototype;\n child.prototype = new tmp();\n child.prototype.constructor = child;\n }\n}");
}
@@ -12090,11 +11690,11 @@ WorldGenerator.prototype._writeDynamicStubs = function(type) {
}
}
WorldGenerator.prototype._writeStaticField = function(field) {
- if ($notnull_bool(field.isFinal)) return;
+ if (field.isFinal) return;
var fullname = ("" + field.declaringType.get$jsname() + "." + field.get$jsname() + "");
if (this.globals.containsKey(fullname)) {
var value = this.globals.$index(fullname);
- if ($notnull_bool(field.declaringType.get$isTop()) && !$notnull_bool(field.isNative)) {
+ if (field.declaringType.get$isTop() && !field.isNative) {
this.writer.writeln(('var ' + field.get$jsname() + ' = ' + value.exp.code + ';'));
}
else {
@@ -12103,12 +11703,12 @@ WorldGenerator.prototype._writeStaticField = function(field) {
}
}
WorldGenerator.prototype._writeField = function(field) {
- if ($notnull_bool(field.declaringType.get$isTop()) && !$notnull_bool(field.isNative) && field.value == null) {
+ if (field.declaringType.get$isTop() && !field.isNative && field.value == null) {
this.writer.writeln(('var ' + field.get$jsname() + ';'));
}
- if ($notnull_bool(field._providePropertySyntax)) {
+ if (field._providePropertySyntax) {
this.writer.writeln(('' + field.declaringType.get$jsname() + '.prototype.get\$' + field.get$jsname() + ' = ') + ('function() { return this.' + field.get$jsname() + '; };'));
- if (!$notnull_bool(field.isFinal)) {
+ if (!field.isFinal) {
this.writer.writeln(('' + field.declaringType.get$jsname() + '.prototype.set\$' + field.get$jsname() + ' = ') + ('function(value) { return this.' + field.get$jsname() + ' = value; };'));
}
}
@@ -12116,7 +11716,7 @@ WorldGenerator.prototype._writeField = function(field) {
WorldGenerator.prototype._writeProperty = function(property) {
if (property.getter != null) this._writeMethod(property.getter);
if (property.setter != null) this._writeMethod(property.setter);
- if ($notnull_bool(property._provideFieldSyntax)) {
+ if (property._provideFieldSyntax) {
this.writer.enterBlock('Object.defineProperty(' + ('' + property.declaringType.get$jsname() + '.prototype, "' + property.get$jsname() + '", {'));
if (property.getter != null) {
this.writer.write(('get: ' + property.declaringType.get$jsname() + '.prototype.' + property.getter.get$jsname() + ''));
@@ -12156,8 +11756,7 @@ WorldGenerator.prototype._writeGlobals = function() {
}
}
WorldGenerator.prototype._orderValues = function(map) {
- var $0;
- var values = (($0 = map.getValues()) && $0.is$List());
+ var values = map.getValues();
values.sort(this.get$_compareMembers());
return values;
}
@@ -12168,20 +11767,19 @@ WorldGenerator.prototype._compareMembers = function(x, y) {
}
if (x.get$span() == null) return 1;
if (y.get$span() == null) return -1;
- return $assert_num(x.get$name().compareTo$1(y.get$name()));
+ return x.get$name().compareTo$1(y.get$name());
}
WorldGenerator.prototype.get$_compareMembers = function() {
return WorldGenerator.prototype._compareMembers.bind(this);
}
WorldGenerator.prototype.useMapFactory = function() {
- var $0;
this.corejs.useMap = true;
var factType = world.get$coreimpl().types.$index('HashMapImplementation');
var m = factType.resolveMember$1('\$setindex');
- this.genMethod((($0 = m.get$members().$index(0)) && $0.is$Member()));
+ this.genMethod(m.get$members().$index(0));
var c = factType.getConstructor$1('');
- this.genMethod((c && c.is$Member()));
- return (factType && factType.is$lang_Type());
+ this.genMethod(c);
+ return factType;
}
// ********** Code for BlockScope **************
function BlockScope(enclosingMethod, parent, reentrant) {
@@ -12190,14 +11788,13 @@ function BlockScope(enclosingMethod, parent, reentrant) {
this.reentrant = reentrant;
this._vars = $map([]);
// Initializers done
- if ($notnull_bool(this.get$isMethodScope())) {
+ if (this.get$isMethodScope()) {
this._closedOver = new HashSetImplementation();
}
else {
- this.reentrant = $notnull_bool(this.reentrant) || $notnull_bool(this.parent.reentrant);
+ this.reentrant = this.reentrant || this.parent.reentrant;
}
}
-BlockScope.prototype.is$BlockScope = function(){return this;};
BlockScope.prototype.get$parent = function() { return this.parent; };
BlockScope.prototype.set$parent = function(value) { return this.parent = value; };
BlockScope.prototype.get$isMethodScope = function() {
@@ -12205,19 +11802,19 @@ BlockScope.prototype.get$isMethodScope = function() {
}
BlockScope.prototype.get$methodScope = function() {
var s = this;
- while (!$notnull_bool(s.get$isMethodScope())) s = s.get$parent();
- return (s && s.is$BlockScope());
+ while (!s.get$isMethodScope()) s = s.get$parent();
+ return s;
}
BlockScope.prototype.lookup = function(name) {
var ret = this._vars.$index(name);
- if ($notnull_bool($ne(ret, null))) return ret;
+ if ($ne(ret, null)) return ret;
for (var s = this.parent;
- $notnull_bool($ne(s, null)); s = s.get$parent()) {
+ $ne(s, null); s = s.get$parent()) {
ret = s._vars.$index(name);
- if ($notnull_bool($ne(ret, null))) {
+ if ($ne(ret, null)) {
if ($ne(s.enclosingMethod, this.enclosingMethod)) {
s.get$methodScope()._closedOver.add(ret.code);
- if (this.enclosingMethod.captures != null && $notnull_bool(s.reentrant)) {
+ if (this.enclosingMethod.captures != null && s.reentrant) {
this.enclosingMethod.captures.add(ret.code);
}
}
@@ -12226,11 +11823,11 @@ BlockScope.prototype.lookup = function(name) {
}
}
BlockScope.prototype._isDefinedInParent = function(name) {
- if ($notnull_bool(this.get$isMethodScope()) && this._closedOver.contains(name)) return true;
+ if (this.get$isMethodScope() && this._closedOver.contains(name)) return true;
for (var s = this.parent;
- $notnull_bool($ne(s, null)); s = s.get$parent()) {
+ $ne(s, null); s = s.get$parent()) {
if (s._vars.containsKey(name)) return true;
- if ($notnull_bool(s.get$isMethodScope()) && s._closedOver.contains(name)) return true;
+ if (s.get$isMethodScope() && s._closedOver.contains(name)) return true;
}
var type = this.enclosingMethod.method.declaringType;
if (type.get$library().lookup(name, null) != null) return true;
@@ -12241,36 +11838,35 @@ BlockScope.prototype.create = function(name, type, span, isParameter) {
if (this._vars.containsKey(name)) {
world.error(('duplicate name "' + name + '"'), span);
}
- if (!$notnull_bool(isParameter)) {
+ if (!isParameter) {
var index = 0;
- while ($notnull_bool(this._isDefinedInParent($assert_String(jsName)))) {
+ while (this._isDefinedInParent(jsName)) {
jsName = ('' + name + '' + index++ + '');
}
}
var ret = new Value(type, jsName, span, false);
this._vars.$setindex(name, ret);
- return (ret && ret.is$Value());
+ return ret;
}
BlockScope.prototype.declareParameter = function(p) {
return this.create(p.name, p.type, p.definition.span, true);
}
BlockScope.prototype.declare = function(id) {
var type = this.enclosingMethod.method.resolveType(id.type, false);
- return this.create(id.name.name, (type && type.is$lang_Type()), id.span, false);
+ return this.create(id.name.name, type, id.span, false);
}
BlockScope.prototype.getRethrow = function() {
var scope = this;
- while (scope.rethrow == null && $notnull_bool($ne(scope.get$parent(), null))) {
+ while (scope.rethrow == null && $ne(scope.get$parent(), null)) {
scope = scope.get$parent();
}
return scope.rethrow;
}
BlockScope.prototype.lookup$1 = function($0) {
- return this.lookup($assert_String($0));
+ return this.lookup($0);
};
// ********** Code for MethodGenerator **************
function MethodGenerator(method, enclosingMethod) {
- var $0;
this.method = method;
this.enclosingMethod = enclosingMethod;
this.writer = new CodeWriter();
@@ -12284,14 +11880,12 @@ function MethodGenerator(method, enclosingMethod) {
this._scope = new BlockScope(this, null, false);
}
if (this.enclosingMethod != null && this.method.name != '') {
- var m = (($0 = this.method) && $0.is$MethodMember());
+ var m = this.method;
this._scope.create(m.name, m.get$functionType(), m.definition.span, false);
}
this._usedTemps = new HashSetImplementation();
this._freeTemps = [];
}
-MethodGenerator.prototype.is$MethodGenerator = function(){return this;};
-MethodGenerator.prototype.is$TreeVisitor = function(){return this;};
MethodGenerator.prototype.get$library = function() {
return this.method.get$library();
}
@@ -12305,12 +11899,12 @@ MethodGenerator.prototype.get$isStatic = function() {
return this.method.get$isStatic();
}
MethodGenerator.prototype.getTemp = function(value) {
- return $notnull_bool(value.needsTemp) ? this.forceTemp(value) : value;
+ return value.needsTemp ? this.forceTemp(value) : value;
}
MethodGenerator.prototype.forceTemp = function(value) {
var name;
if (this._freeTemps.length > 0) {
- name = $assert_String(this._freeTemps.removeLast());
+ name = this._freeTemps.removeLast();
}
else {
name = '\$' + this._usedTemps.get$length();
@@ -12335,11 +11929,11 @@ MethodGenerator.prototype.freeTemp = function(value) {
}
}
MethodGenerator.prototype.run = function() {
- if ($notnull_bool(this.method.isGenerated)) return;
+ if (this.method.isGenerated) return;
this.method.isGenerated = true;
this.method.generator = this;
if ((this.method.get$definition().body instanceof NativeStatement)) {
- if ($notnull_bool(this.method.get$definition().body.body == null)) {
+ if (this.method.get$definition().body.body == null) {
this.method.generator = null;
}
else {
@@ -12347,7 +11941,7 @@ MethodGenerator.prototype.run = function() {
return p.get$name();
})
);
- this.writer.write($assert_String(this.method.get$definition().body.body));
+ this.writer.write(this.method.get$definition().body.body);
}
}
else {
@@ -12355,7 +11949,6 @@ MethodGenerator.prototype.run = function() {
}
}
MethodGenerator.prototype.writeDefinition = function(defWriter, lambda) {
- var $0;
var paramCode = this._paramCode;
var names = null;
if (this.captures != null && this.captures.get$length() > 0) {
@@ -12364,19 +11957,19 @@ MethodGenerator.prototype.writeDefinition = function(defWriter, lambda) {
return x.compareTo$1(y);
})
);
- paramCode = ListFactory.ListFactory$from$factory((names && names.is$Iterable()));
+ paramCode = ListFactory.ListFactory$from$factory(names);
paramCode.addAll$1(this._paramCode);
}
var _params = ('(' + Strings.join(this._paramCode, ", ") + ')');
- var params = ('(' + Strings.join((paramCode && paramCode.is$List$String()), ", ") + ')');
- if ($notnull_bool(this.method.declaringType.get$isTop()) && !$notnull_bool(this.get$isClosure())) {
+ var params = ('(' + Strings.join(paramCode, ", ") + ')');
+ if (this.method.declaringType.get$isTop() && !this.get$isClosure()) {
defWriter.enterBlock(('function ' + this.method.get$jsname() + '' + params + ' {'));
}
- else if ($notnull_bool(this.get$isClosure())) {
+ else if (this.get$isClosure()) {
if (this.method.name == '') {
defWriter.enterBlock(('(function ' + params + ' {'));
}
- else if ($notnull_bool($ne(names, null))) {
+ else if ($ne(names, null)) {
if (lambda == null) {
defWriter.enterBlock(('var ' + this.method.get$jsname() + ' = (function' + params + ' {'));
}
@@ -12388,7 +11981,7 @@ MethodGenerator.prototype.writeDefinition = function(defWriter, lambda) {
defWriter.enterBlock(('function ' + this.method.get$jsname() + '' + params + ' {'));
}
}
- else if ($notnull_bool(this.method.get$isConstructor())) {
+ else if (this.method.get$isConstructor()) {
if (this.method.get$constructorName() == '') {
defWriter.enterBlock(('function ' + this.method.declaringType.get$jsname() + '' + params + ' {'));
}
@@ -12396,20 +11989,19 @@ MethodGenerator.prototype.writeDefinition = function(defWriter, lambda) {
defWriter.enterBlock(('' + this.method.declaringType.get$jsname() + '.' + this.method.get$constructorName() + '\$ctor = function' + params + ' {'));
}
}
- else if ($notnull_bool(this.method.get$isFactory())) {
+ else if (this.method.get$isFactory()) {
defWriter.enterBlock(('' + this.method.get$generatedFactoryName() + ' = function' + _params + ' {'));
}
- else if ($notnull_bool(this.method.get$isStatic())) {
+ else if (this.method.get$isStatic()) {
defWriter.enterBlock(('' + this.method.declaringType.get$jsname() + '.' + this.method.get$jsname() + ' = function' + _params + ' {'));
}
else {
defWriter.enterBlock(('' + this.method.declaringType.get$jsname() + '.prototype.') + ('' + this.method.get$jsname() + ' = function' + _params + ' {'));
}
- if ($notnull_bool(this.needsThis)) {
+ if (this.needsThis) {
defWriter.writeln('var \$this = this; // closure support');
}
if (this._usedTemps.get$length() > 0 || this._freeTemps.length > 0) {
- $assert(this._usedTemps.get$length() == 0, "_usedTemps.length == 0", "gen.dart", 695, 14);
this._freeTemps.addAll(this._usedTemps);
this._freeTemps.sort((function (x, y) {
return x.compareTo$1(y);
@@ -12418,51 +12010,50 @@ MethodGenerator.prototype.writeDefinition = function(defWriter, lambda) {
defWriter.writeln(('var ' + Strings.join(this._freeTemps, ", ") + ';'));
}
defWriter.writeln(this.writer.get$text());
- if ($notnull_bool($ne(names, null))) {
- defWriter.exitBlock(('}).bind(null, ' + Strings.join((names && names.is$List$String()), ", ") + ')'));
+ if ($ne(names, null)) {
+ defWriter.exitBlock(('}).bind(null, ' + Strings.join(names, ", ") + ')'));
}
- else if ($notnull_bool(this.get$isClosure()) && this.method.name == '') {
+ else if (this.get$isClosure() && this.method.name == '') {
defWriter.exitBlock('})');
}
else {
defWriter.exitBlock('}');
}
- if ($notnull_bool(this.method.get$isConstructor()) && this.method.get$constructorName() != '') {
+ if (this.method.get$isConstructor() && this.method.get$constructorName() != '') {
defWriter.writeln(('' + this.method.declaringType.get$jsname() + '.' + this.method.get$constructorName() + '\$ctor.prototype = ') + ('' + this.method.declaringType.get$jsname() + '.prototype;'));
}
this._provideOptionalParamInfo(defWriter);
if ((this.method instanceof MethodMember)) {
- var m = (($0 = this.method) && $0.is$MethodMember());
- if ($notnull_bool(m._providePropertySyntax)) {
+ var m = this.method;
+ if (m._providePropertySyntax) {
defWriter.enterBlock(('' + m.declaringType.get$jsname() + '.prototype') + ('.get\$' + m.get$jsname() + ' = function() {'));
defWriter.writeln(('return ' + m.declaringType.get$jsname() + '.prototype.') + ('' + m.get$jsname() + '.bind(this);'));
defWriter.exitBlock('}');
- if ($notnull_bool(m._provideFieldSyntax)) {
+ if (m._provideFieldSyntax) {
world.internalError('bound m accessed with field syntax');
}
}
}
}
MethodGenerator.prototype._provideOptionalParamInfo = function(defWriter) {
- var $0;
if ((this.method instanceof MethodMember)) {
- var meth = (($0 = this.method) && $0.is$MethodMember());
- if ($notnull_bool(meth._provideOptionalParamInfo)) {
+ var meth = this.method;
+ if (meth._provideOptionalParamInfo) {
var optNames = [];
var optValues = [];
meth.genParameterValues();
var $list = meth.parameters;
for (var $i = 0;$i < $list.length; $i++) {
var param = $list.$index($i);
- if ($notnull_bool(param.get$isOptional())) {
+ if (param.get$isOptional()) {
optNames.add$1(param.get$name());
- optValues.add$1(MethodGenerator._escapeString($assert_String(param.get$value().code)));
+ optValues.add$1(MethodGenerator._escapeString(param.get$value().code));
}
}
if (optNames.length > 0) {
var start = '';
- if ($notnull_bool(meth.isStatic)) {
- if (!$notnull_bool(meth.declaringType.get$isTop())) {
+ if (meth.isStatic) {
+ if (!meth.declaringType.get$isTop()) {
start = meth.declaringType.get$jsname() + '.';
}
}
@@ -12470,7 +12061,7 @@ MethodGenerator.prototype._provideOptionalParamInfo = function(defWriter) {
start = meth.declaringType.get$jsname() + '.prototype.';
}
optNames.addAll$1(optValues);
- var optional = "['" + Strings.join((optNames && optNames.is$List$String()), "', '") + "']";
+ var optional = "['" + Strings.join(optNames, "', '") + "']";
defWriter.writeln(('' + start + '' + meth.get$jsname() + '.\$optional = ' + optional + ''));
}
}
@@ -12479,15 +12070,15 @@ MethodGenerator.prototype._provideOptionalParamInfo = function(defWriter) {
MethodGenerator.prototype.writeBody = function() {
var initializers = null;
var initializedFields = null;
- if ($notnull_bool(this.method.get$isConstructor())) {
+ if (this.method.get$isConstructor()) {
initializers = [];
initializedFields = new HashSetImplementation();
var $list = world.gen._orderValues(this.method.declaringType.getAllMembers());
for (var $i = 0;$i < $list.length; $i++) {
var f = $list.$index($i);
- if ((f instanceof FieldMember) && !$notnull_bool(f.get$isStatic())) {
+ if ((f instanceof FieldMember) && !f.get$isStatic()) {
var cv = f.computeValue$0();
- if ($notnull_bool($ne(cv, null))) {
+ if ($ne(cv, null)) {
initializers.add$1(('this.' + f.get$jsname() + ' = ' + cv.code + ''));
initializedFields.add$1(f.get$name());
}
@@ -12498,12 +12089,12 @@ MethodGenerator.prototype.writeBody = function() {
var $list = this.method.get$parameters();
for (var $i = 0;$i < $list.length; $i++) {
var p = $list.$index($i);
- if ($notnull_bool($ne(initializers, null)) && $notnull_bool(p.isInitializer)) {
- var field = this.method.declaringType.getMember($assert_String(p.get$name()));
- if ($notnull_bool(field == null)) {
+ if ($ne(initializers, null) && p.isInitializer) {
+ var field = this.method.declaringType.getMember(p.get$name());
+ if (field == null) {
world.error('bad this parameter - no matching field', p.get$definition().get$span());
}
- if (!$notnull_bool(field.get$isField())) {
+ if (!field.get$isField()) {
world.error(('"this.' + p.get$name() + '" does not refer to a field'), p.get$definition().get$span());
}
var paramValue = new Value(field.get$returnType(), p.get$name(), p.get$definition().get$span(), false);
@@ -12512,18 +12103,18 @@ MethodGenerator.prototype.writeBody = function() {
initializedFields.add$1(p.get$name());
}
else {
- var paramValue = this._scope.declareParameter((p && p.is$Parameter()));
+ var paramValue = this._scope.declareParameter(p);
this._paramCode.add(paramValue.code);
}
}
var body = this.method.get$definition().body;
- if ($notnull_bool(body == null) && !$notnull_bool(this.method.get$isConstructor())) {
+ if (body == null && !this.method.get$isConstructor()) {
world.error(('unexpected empty body for ' + this.method.name + ''), this.method.get$definition().get$span());
}
- if ($notnull_bool($ne(initializers, null))) {
+ if ($ne(initializers, null)) {
for (var $i = initializers.iterator$0(); $i.hasNext$0(); ) {
var i = $i.next$0();
- this.writer.writeln($assert_String(i));
+ this.writer.writeln(i);
}
var declaredInitializers = this.method.get$definition().initializers;
if (declaredInitializers != null) {
@@ -12531,7 +12122,7 @@ MethodGenerator.prototype.writeBody = function() {
for (var $i = 0;$i < declaredInitializers.length; $i++) {
var init = declaredInitializers.$index($i);
if ((init instanceof CallExpression)) {
- if ($notnull_bool($ne(initializerCall, null))) {
+ if ($ne(initializerCall, null)) {
world.error('only one initializer redirecting call is allowed', init.get$span());
}
initializerCall = init;
@@ -12542,12 +12133,12 @@ MethodGenerator.prototype.writeBody = function() {
world.error('invalid left side of initializer', left.get$span());
continue;
}
- var f = this.method.declaringType.getMember($assert_String(left.get$name().get$name()));
- if ($notnull_bool(f == null)) {
+ var f = this.method.declaringType.getMember(left.get$name().get$name());
+ if (f == null) {
world.error('bad initializer - no matching field', left.get$span());
continue;
}
- else if (!$notnull_bool(f.get$isField())) {
+ else if (!f.get$isField()) {
world.error(('"' + left.get$name().get$name() + '" does not refer to a field'), left.get$span());
continue;
}
@@ -12558,21 +12149,21 @@ MethodGenerator.prototype.writeBody = function() {
world.error('invalid initializer', init.get$span());
}
}
- if ($notnull_bool($ne(initializerCall, null))) {
- var target = this._writeInitializerCall((initializerCall && initializerCall.is$CallExpression()));
- if (!$notnull_bool(target.isSuper)) {
+ if ($ne(initializerCall, null)) {
+ var target = this._writeInitializerCall(initializerCall);
+ if (!target.isSuper) {
if (initializers.length > 0) {
var $list = this.method.get$parameters();
for (var $i = 0;$i < $list.length; $i++) {
var p = $list.$index($i);
- if ($notnull_bool(p.isInitializer)) {
+ if (p.isInitializer) {
world.error('no initialization allowed on redirecting constructors', p.get$definition().get$span());
break;
}
}
}
if (declaredInitializers.length > 1) {
- var init = $notnull_bool($eq(declaredInitializers.$index(0), initializerCall)) ? declaredInitializers.$index(1) : declaredInitializers.$index(0);
+ var init = $eq(declaredInitializers.$index(0), initializerCall) ? declaredInitializers.$index(1) : declaredInitializers.$index(0);
world.error('no initialization allowed on redirecting constructors', init.get$span());
}
initializedFields = null;
@@ -12583,32 +12174,32 @@ MethodGenerator.prototype.writeBody = function() {
}
this.writer.comment('// Initializers done');
}
- if ($notnull_bool($ne(initializedFields, null))) {
+ if ($ne(initializedFields, null)) {
var $list = this.method.declaringType.get$members().getKeys();
for (var $i = this.method.declaringType.get$members().getKeys().iterator$0(); $i.hasNext$0(); ) {
var name = $i.next$0();
var member = this.method.declaringType.get$members().$index(name);
- if ((member instanceof FieldMember) && $notnull_bool(member.isFinal) && !$notnull_bool(member.get$isStatic()) && !$notnull_bool(initializedFields.contains$1(name))) {
+ if ((member instanceof FieldMember) && member.isFinal && !member.get$isStatic() && !initializedFields.contains$1(name)) {
world.error(('Field "' + name + '" is final and was not initialized'), this.method.get$definition().get$span());
}
}
}
- this.visitStatementsInBlock((body && body.is$lang_Statement()));
+ this.visitStatementsInBlock(body);
}
MethodGenerator.prototype._writeInitializerCall = function(node) {
var contructorName = '';
var targetExp = node.target;
if ((targetExp instanceof DotExpression)) {
- var dot = (targetExp && targetExp.is$DotExpression());
+ var dot = targetExp;
targetExp = dot.self;
contructorName = dot.name.name;
}
var target = null;
if ((targetExp instanceof SuperExpression)) {
- target = this._makeSuperValue((targetExp && targetExp.is$lang_Node()));
+ target = this._makeSuperValue(targetExp);
}
else if ((targetExp instanceof ThisExpression)) {
- target = this._makeThisValue((targetExp && targetExp.is$lang_Node()));
+ target = this._makeThisValue(targetExp);
}
else {
world.error('bad call in initializers', node.span);
@@ -12616,22 +12207,21 @@ MethodGenerator.prototype._writeInitializerCall = function(node) {
var m = target.type.getConstructor$1(contructorName);
this.method.set$initDelegate(m);
var other = m;
- while ($notnull_bool($ne(other, null))) {
- if ($notnull_bool($eq(other, this.method))) {
+ while ($ne(other, null)) {
+ if ($eq(other, this.method)) {
world.error('initialization cycle', node.span);
break;
}
other = other.get$initDelegate();
}
- world.gen.genMethod((m && m.is$Member()));
+ world.gen.genMethod(m);
var value = m.invoke$4(this, node, target, this._makeArgs(node.arguments));
- if ($notnull_bool($ne(target.type, world.objectType))) {
+ if ($ne(target.type, world.objectType)) {
this.writer.writeln(('' + value.code + ';'));
}
- return (target && target.is$Value());
+ return target;
}
MethodGenerator.prototype._makeArgs = function(arguments) {
- var $0;
var args = [];
var seenLabel = false;
for (var $i = 0;$i < arguments.length; $i++) {
@@ -12639,10 +12229,10 @@ MethodGenerator.prototype._makeArgs = function(arguments) {
if (arg.label != null) {
seenLabel = true;
}
- else if ($notnull_bool(seenLabel)) {
+ else if (seenLabel) {
world.error('bare argument can not follow named arguments', arg.get$span());
}
- args.add$1(this.visitValue((($0 = arg.get$value()) && $0.is$lang_Expression())));
+ args.add$1(this.visitValue(arg.get$value()));
}
return new Arguments(arguments, args);
}
@@ -12651,7 +12241,7 @@ MethodGenerator._escapeString = function(text) {
}
MethodGenerator.prototype.visitStatementsInBlock = function(body) {
if ((body instanceof BlockStatement)) {
- var block = (body && body.is$BlockStatement());
+ var block = body;
var $list = block.body;
for (var $i = 0;$i < $list.length; $i++) {
var stmt = $list.$index($i);
@@ -12673,8 +12263,8 @@ MethodGenerator.prototype._makeLambdaMethod = function(name, func) {
var meth = new MethodMember(name, this.method.declaringType, func);
meth.isLambda = true;
meth.resolve$1(this.method.declaringType);
- world.gen.genMethod((meth && meth.is$Member()), this);
- return (meth && meth.is$MethodMember());
+ world.gen.genMethod(meth, this);
+ return meth;
}
MethodGenerator.prototype.visitBool = function(node) {
return this.visitValue(node).convertTo$3(this, world.nonNullBool, node);
@@ -12690,7 +12280,7 @@ MethodGenerator.prototype.visitTypedValue = function(node, expectedType) {
}
MethodGenerator.prototype.visitVoid = function(node) {
if ((node instanceof PostfixExpression)) {
- var value = this.visitPostfixExpression((node && node.is$PostfixExpression()), true);
+ var value = this.visitPostfixExpression(node, true);
value.checkFirstClass$1(node.span);
return value;
}
@@ -12702,9 +12292,8 @@ MethodGenerator.prototype.visitDietStatement = function(node) {
return false;
}
MethodGenerator.prototype.visitVariableDefinition = function(node) {
- var $0;
var isFinal = false;
- if (node.modifiers != null && $notnull_bool($eq(node.modifiers.$index(0).kind, 97/*TokenKind.FINAL*/))) {
+ if (node.modifiers != null && $eq(node.modifiers.$index(0).kind, 97/*TokenKind.FINAL*/)) {
isFinal = true;
}
this.writer.write('var ');
@@ -12716,17 +12305,17 @@ MethodGenerator.prototype.visitVariableDefinition = function(node) {
this.writer.write(', ');
}
var name = node.names.$index(i).get$name();
- var value = this.visitValue((($0 = node.values.$index(i)) && $0.is$lang_Expression()));
- if ($notnull_bool(isFinal)) {
- if ($notnull_bool(value == null)) {
+ var value = this.visitValue(node.values.$index(i));
+ if (isFinal) {
+ if (value == null) {
world.error('no value specified for final variable', node.span);
}
else {
- if ($notnull_bool(thisType.get$isVar())) thisType = value.type;
+ if (thisType.get$isVar()) thisType = value.type;
}
}
- var val = this._scope.create($assert_String(name), (thisType && thisType.is$lang_Type()), node.names.$index(i).get$span(), false);
- if ($notnull_bool(value == null)) {
+ var val = this._scope.create(name, thisType, node.names.$index(i).get$span(), false);
+ if (value == null) {
this.writer.write(('' + val.code + ''));
}
else {
@@ -12738,10 +12327,9 @@ MethodGenerator.prototype.visitVariableDefinition = function(node) {
return false;
}
MethodGenerator.prototype.visitFunctionDefinition = function(node) {
- var $0;
var name = world.toJsIdentifier(node.name.name);
- var meth = this._makeLambdaMethod($assert_String(name), node);
- var funcValue = this._scope.create($assert_String(name), (($0 = meth.get$functionType()) && $0.is$lang_Type()), this.method.get$definition().get$span(), false);
+ var meth = this._makeLambdaMethod(name, node);
+ var funcValue = this._scope.create(name, meth.get$functionType(), this.method.get$definition().get$span(), false);
meth.generator.writeDefinition$2(this.writer);
return false;
}
@@ -12750,7 +12338,7 @@ MethodGenerator.prototype.visitReturnStatement = function(node) {
this.writer.writeln('return;');
}
else {
- if ($notnull_bool(this.method.get$isConstructor())) {
+ if (this.method.get$isConstructor()) {
world.error('return of value not allowed from constructor', node.span);
}
var value = this.visitTypedValue(node.value, this.method.get$returnType());
@@ -12767,7 +12355,7 @@ MethodGenerator.prototype.visitThrowStatement = function(node) {
}
else {
var rethrow = this._scope.getRethrow();
- if ($notnull_bool(rethrow == null)) {
+ if (rethrow == null) {
world.error('rethrow outside of catch', node.span);
}
else {
@@ -12777,15 +12365,14 @@ MethodGenerator.prototype.visitThrowStatement = function(node) {
return true;
}
MethodGenerator.prototype.visitAssertStatement = function(node) {
- var $0;
var test = this.visitValue(node.test);
- if ($notnull_bool(options.enableAsserts)) {
+ if (options.enableAsserts) {
var err = world.corelib.types.$index('AssertError');
- world.gen.genMethod((($0 = err.getConstructor$1('')) && $0.is$Member()));
- world.gen.genMethod((($0 = err.get$members().$index('toString')) && $0.is$Member()));
+ world.gen.genMethod(err.getConstructor$1(''));
+ world.gen.genMethod(err.get$members().$index('toString'));
var span = node.test.span;
var line = span.file.getLine(span.start);
- var column = span.file.getColumn($assert_num(line), span.start);
+ var column = span.file.getColumn(line, span.start);
this.writer.writeln(('\$assert(' + test.code + ', "' + MethodGenerator._escapeString(span.get$text()) + '",') + (' "' + basename(span.file.filename) + '", ' + (line + 1) + ', ' + (column + 1) + ');'));
world.gen.corejs.useAssert = true;
}
@@ -12815,7 +12402,7 @@ MethodGenerator.prototype.visitIfStatement = function(node) {
var exit1 = node.trueBranch.visit(this);
if (node.falseBranch != null) {
this.writer.write('else ');
- if ($notnull_bool(node.falseBranch.visit(this)) && $notnull_bool(exit1)) {
+ if (node.falseBranch.visit(this) && exit1) {
return true;
}
}
@@ -12854,9 +12441,9 @@ MethodGenerator.prototype.visitForStatement = function(node) {
var $list = node.step;
for (var $i = 0;$i < $list.length; $i++) {
var s = $list.$index($i);
- if ($notnull_bool(needsComma)) this.writer.write(', ');
- var sv = this.visitVoid((s && s.is$lang_Expression()));
- this.writer.write($assert_String(sv.code));
+ if (needsComma) this.writer.write(', ');
+ var sv = this.visitVoid(s);
+ this.writer.write(sv.code);
needsComma = true;
}
this.writer.write(') ');
@@ -12867,18 +12454,17 @@ MethodGenerator.prototype.visitForStatement = function(node) {
return false;
}
MethodGenerator.prototype.visitForInStatement = function(node) {
- var $0;
var itemType = this.method.resolveType(node.item.type, false);
var itemName = node.item.name.name;
var list = node.list.visit(this);
this._pushBlock(true);
- var item = this._scope.create($assert_String(itemName), (itemType && itemType.is$lang_Type()), node.item.name.span, false);
- var listVar = (list && list.is$Value());
- if ($notnull_bool(list.needsTemp)) {
- listVar = this._scope.create('\$list', (($0 = list.type) && $0.is$lang_Type()), null, false);
+ var item = this._scope.create(itemName, itemType, node.item.name.span, false);
+ var listVar = list;
+ if (list.needsTemp) {
+ listVar = this._scope.create('\$list', list.type, null, false);
this.writer.writeln(('var ' + listVar.code + ' = ' + list.code + ';'));
}
- if ($notnull_bool(list.type.get$isList())) {
+ if (list.type.get$isList()) {
var tmpi = this._scope.create('\$i', world.numType, null, false);
this.writer.enterBlock(('for (var ' + tmpi.code + ' = 0;') + ('' + tmpi.code + ' < ' + listVar.code + '.length; ' + tmpi.code + '++) {'));
var value = listVar.invoke(this, '\$index', node.list, new Arguments(null, [tmpi]), false);
@@ -12887,7 +12473,7 @@ MethodGenerator.prototype.visitForInStatement = function(node) {
else {
this._pushBlock(false);
var iterator = list.invoke$4(this, 'iterator', node.list, Arguments.get$EMPTY());
- var tmpi = this._scope.create('\$i', (($0 = iterator.type) && $0.is$lang_Type()), null, false);
+ var tmpi = this._scope.create('\$i', iterator.type, null, false);
var hasNext = tmpi.invoke$4(this, 'hasNext', node.list, Arguments.get$EMPTY());
var next = tmpi.invoke$4(this, 'next', node.list, Arguments.get$EMPTY());
this.writer.enterBlock(('for (var ' + tmpi.code + ' = ' + iterator.code + '; ' + hasNext.code + '; ) {'));
@@ -12912,7 +12498,6 @@ MethodGenerator.prototype._genToDartException = function(ex, node) {
world.gen.corejs.useToDartException = true;
}
MethodGenerator.prototype.visitTryStatement = function(node) {
- var $0;
this.writer.enterBlock('try {');
this._pushBlock(false);
this.visitStatementsInBlock(node.body);
@@ -12920,26 +12505,26 @@ MethodGenerator.prototype.visitTryStatement = function(node) {
if (node.catches.length == 1) {
var catch_ = node.catches.$index(0);
this._pushBlock(false);
- var ex = this._scope.declare((($0 = catch_.get$exception()) && $0.is$DeclaredIdentifier()));
- this._scope.rethrow = (ex && ex.is$Value());
+ var ex = this._scope.declare(catch_.get$exception());
+ this._scope.rethrow = ex;
this.writer.nextBlock(('} catch (' + ex.code + ') {'));
if (catch_.trace != null) {
var trace = this._scope.declare(catch_.trace);
this.writer.writeln(('var ' + trace.code + ' = \$stackTraceOf(' + ex.code + ');'));
world.gen.corejs.useStackTraceOf = true;
}
- this._genToDartException($assert_String(ex.code), node);
- if (!$notnull_bool(ex.type.get$isVar())) {
+ this._genToDartException(ex.code, node);
+ if (!ex.type.get$isVar()) {
var test = ex.instanceOf$3$isTrue$forceCheck(this, ex.type, catch_.get$exception().get$span(), false, true);
this.writer.writeln(('if (' + test.code + ') throw ' + ex.code + ';'));
}
- this.visitStatementsInBlock((($0 = node.catches.$index(0).body) && $0.is$lang_Statement()));
+ this.visitStatementsInBlock(node.catches.$index(0).body);
this._popBlock();
}
else if (node.catches.length > 0) {
this._pushBlock(false);
var ex = this._scope.create('\$ex', world.varType, null, false);
- this._scope.rethrow = (ex && ex.is$Value());
+ this._scope.rethrow = ex;
this.writer.nextBlock(('} catch (' + ex.code + ') {'));
var trace = null;
if (node.catches.some((function (c) {
@@ -12950,14 +12535,14 @@ MethodGenerator.prototype.visitTryStatement = function(node) {
this.writer.writeln(('var ' + trace.code + ' = \$stackTraceOf(' + ex.code + ');'));
world.gen.corejs.useStackTraceOf = true;
}
- this._genToDartException($assert_String(ex.code), node);
+ this._genToDartException(ex.code, node);
var needsRethrow = true;
for (var i = 0;
i < node.catches.length; i++) {
var catch_ = node.catches.$index(i);
this._pushBlock(false);
- var tmp = this._scope.declare((($0 = catch_.get$exception()) && $0.is$DeclaredIdentifier()));
- if (!$notnull_bool(tmp.type.get$isVar())) {
+ var tmp = this._scope.declare(catch_.get$exception());
+ if (!tmp.type.get$isVar()) {
var test = ex.instanceOf$3$isTrue$forceCheck(this, tmp.type, catch_.get$exception().get$span(), true, true);
if (i == 0) {
this.writer.enterBlock(('if (' + test.code + ') {'));
@@ -12974,11 +12559,11 @@ MethodGenerator.prototype.visitTryStatement = function(node) {
var tmptrace = this._scope.declare(catch_.trace);
this.writer.writeln(('var ' + tmptrace.code + ' = ' + trace.code + ';'));
}
- this.visitStatementsInBlock((($0 = catch_.body) && $0.is$lang_Statement()));
+ this.visitStatementsInBlock(catch_.body);
this._popBlock();
- if ($notnull_bool(tmp.type.get$isVar())) {
+ if (tmp.type.get$isVar()) {
if (i + 1 < node.catches.length) {
- world.warning('Unreachable catch clause', (($0 = node.catches.$index(i + 1)) && $0.is$SourceSpan()));
+ world.warning('Unreachable catch clause', node.catches.$index(i + 1));
}
if (i > 0) {
this.writer.exitBlock('}');
@@ -12987,7 +12572,7 @@ MethodGenerator.prototype.visitTryStatement = function(node) {
break;
}
}
- if ($notnull_bool(needsRethrow)) {
+ if (needsRethrow) {
this.writer.nextBlock('} else {');
this.writer.writeln(('throw ' + ex.code + ';'));
this.writer.exitBlock('}');
@@ -13016,20 +12601,20 @@ MethodGenerator.prototype.visitSwitchStatement = function(node) {
for (var i = 0;
i < case_.cases.length; i++) {
var expr = case_.cases.$index(i);
- if ($notnull_bool(expr == null)) {
+ if (expr == null) {
if (i < case_.cases.length - 1) {
world.error('default clause must be the last case', case_.get$span());
}
this.writer.writeln('default:');
}
else {
- var value = this.visitValue((expr && expr.is$lang_Expression()));
+ var value = this.visitValue(expr);
this.writer.writeln(('case ' + value.code + ':'));
}
}
this.writer.enterBlock('');
var caseExits = this._visitAllStatements(case_.statements, false);
- if ($notnull_bool($ne(case_, node.cases.$index(node.cases.length - 1))) && !$notnull_bool(caseExits)) {
+ if ($ne(case_, node.cases.$index(node.cases.length - 1)) && !caseExits) {
var span = case_.statements.$index(case_.statements.length - 1).get$span();
this.writer.writeln('\$throw(new FallThroughError());');
world.gen.corejs.useThrow = true;
@@ -13045,11 +12630,11 @@ MethodGenerator.prototype._visitAllStatements = function(statementList, exits) {
i < statementList.length; i++) {
var stmt = statementList.$index(i);
exits = stmt.visit$1(this);
- if ($notnull_bool($ne(stmt, statementList.$index(statementList.length - 1))) && $notnull_bool(exits)) {
+ if ($ne(stmt, statementList.$index(statementList.length - 1)) && exits) {
world.warning('unreachable code', statementList.$index(i + 1).get$span());
}
}
- return $assert_bool(exits);
+ return exits;
}
MethodGenerator.prototype.visitBlockStatement = function(node) {
this._pushBlock(false);
@@ -13057,7 +12642,7 @@ MethodGenerator.prototype.visitBlockStatement = function(node) {
var exits = this._visitAllStatements(node.body, false);
this.writer.exitBlock('}');
this._popBlock();
- return $assert_bool(exits);
+ return exits;
}
MethodGenerator.prototype.visitLabeledStatement = function(node) {
this.writer.writeln(('' + node.name.name + ':'));
@@ -13077,14 +12662,14 @@ MethodGenerator.prototype.visitEmptyStatement = function(node) {
return false;
}
MethodGenerator.prototype._checkNonStatic = function(node) {
- if ($notnull_bool(this.get$isStatic())) {
+ if (this.get$isStatic()) {
world.warning('not allowed in static method', node.span);
}
}
MethodGenerator.prototype._makeSuperValue = function(node) {
var parentType = this.method.declaringType.get$parent();
this._checkNonStatic(node);
- if ($notnull_bool(parentType == null)) {
+ if (parentType == null) {
world.error('no super class', node.span);
}
var ret = new Value(parentType, 'this', node.span, false);
@@ -13124,27 +12709,26 @@ MethodGenerator.prototype.visitLambdaExpression = function(node) {
if (node.func.name != null) {
name = world.toJsIdentifier(node.func.name.name);
}
- var meth = this._makeLambdaMethod($assert_String(name), node.func);
+ var meth = this._makeLambdaMethod(name, node.func);
var w = new CodeWriter();
meth.generator.writeDefinition$2(w, node);
return new Value(meth.get$functionType(), w.get$text(), node.span, true);
}
MethodGenerator.prototype.visitCallExpression = function(node) {
- var $0;
var target;
var position = node.target;
var name = '\$call';
if ((node.target instanceof DotExpression)) {
- var dot = (($0 = node.target) && $0.is$DotExpression());
+ var dot = node.target;
target = dot.self.visit(this);
name = dot.name.name;
position = dot.name;
}
else if ((node.target instanceof VarExpression)) {
- var varExpr = (($0 = node.target) && $0.is$VarExpression());
+ var varExpr = node.target;
name = varExpr.name.name;
- target = this._scope.lookup($assert_String(name));
- if ($notnull_bool($ne(target, null))) {
+ target = this._scope.lookup(name);
+ if ($ne(target, null)) {
return target.invoke$4(this, '\$call', node, this._makeArgs(node.arguments));
}
target = this._makeThisOrType(varExpr.span);
@@ -13166,8 +12750,8 @@ MethodGenerator.prototype.visitBinaryExpression = function(node) {
var x = this.visitTypedValue(node.x, world.nonNullBool);
var y = this.visitTypedValue(node.y, world.nonNullBool);
var code = ('' + x.code + ' ' + node.op + ' ' + y.code + '');
- if ($notnull_bool(x.get$isConst()) && $notnull_bool(y.get$isConst())) {
- var value = (kind == 35/*TokenKind.AND*/) ? $notnull_bool(x.get$actualValue()) && $notnull_bool(y.get$actualValue()) : $notnull_bool(x.get$actualValue()) || $notnull_bool(y.get$actualValue());
+ if (x.get$isConst() && y.get$isConst()) {
+ var value = (kind == 35/*TokenKind.AND*/) ? x.get$actualValue() && y.get$actualValue() : x.get$actualValue() || y.get$actualValue();
return EvaluatedValue.EvaluatedValue$factory(world.nonNullBool, value, ('' + value + ''), node.span);
}
return new Value(world.nonNullBool, code, node.span, true);
@@ -13175,11 +12759,11 @@ MethodGenerator.prototype.visitBinaryExpression = function(node) {
else if (kind == 50/*TokenKind.EQ_STRICT*/ || kind == 51/*TokenKind.NE_STRICT*/) {
var x = this.visitValue(node.x);
var y = this.visitValue(node.y);
- if ($notnull_bool(x.get$isConst()) && $notnull_bool(y.get$isConst())) {
+ if (x.get$isConst() && y.get$isConst()) {
var value = kind == 50/*TokenKind.EQ_STRICT*/ ? $eq(x.get$actualValue(), y.get$actualValue()) : $ne(x.get$actualValue(), y.get$actualValue());
return EvaluatedValue.EvaluatedValue$factory(world.nonNullBool, value, ("" + value + ""), node.span);
}
- if ($notnull_bool($eq(x.code, 'null')) || $notnull_bool($eq(y.code, 'null'))) {
+ if ($eq(x.code, 'null') || $eq(y.code, 'null')) {
var op = node.op.toString().substring(0, 2);
return new Value(world.nonNullBool, ('' + x.code + ' ' + op + ' ' + y.code + ''), node.span, true);
}
@@ -13195,7 +12779,7 @@ MethodGenerator.prototype.visitBinaryExpression = function(node) {
if (node.op.kind == 49/*TokenKind.NE*/) {
name = '\$ne';
}
- if ($notnull_bool(name == null)) {
+ if (name == null) {
world.internalError(('unimplemented binary op ' + node.op + ''), node.span);
return;
}
@@ -13213,13 +12797,13 @@ MethodGenerator.prototype._visitAssign = function(kind, xn, yn, position, captur
;
}
if ((xn instanceof VarExpression)) {
- return this._visitVarAssign(kind, (xn && xn.is$VarExpression()), yn, position, captureOriginal);
+ return this._visitVarAssign(kind, xn, yn, position, captureOriginal);
}
else if ((xn instanceof IndexExpression)) {
- return this._visitIndexAssign(kind, (xn && xn.is$IndexExpression()), yn, position, captureOriginal);
+ return this._visitIndexAssign(kind, xn, yn, position, captureOriginal);
}
else if ((xn instanceof DotExpression)) {
- return this._visitDotAssign(kind, (xn && xn.is$DotExpression()), yn, position, captureOriginal);
+ return this._visitDotAssign(kind, xn, yn, position, captureOriginal);
}
else {
world.error('illegal lhs', position.span);
@@ -13229,16 +12813,16 @@ MethodGenerator.prototype._visitVarAssign = function(kind, xn, yn, position, cap
var name = xn.name.name;
var x = this._scope.lookup(name);
var y = this.visitValue(yn);
- if ($notnull_bool(x == null)) {
+ if (x == null) {
var members = this.method.declaringType.resolveMember(name);
- if ($notnull_bool($ne(members, null))) {
+ if ($ne(members, null)) {
x = this._makeThisOrType(position.span);
if (kind == 0) {
return x.set_$4(this, name, position, y);
}
- else if (!$notnull_bool(members.get$treatAsField()) || $notnull_bool(members.get$containsMethods())) {
+ else if (!members.get$treatAsField() || members.get$containsMethods()) {
var right = x.get_$3(this, name, position);
- right = captureOriginal((right && right.is$Value()));
+ right = captureOriginal(right);
y = right.invoke$4(this, TokenKind.binaryMethodName(kind), position, new Arguments(null, [y]));
return x.set_$4(this, name, position, y);
}
@@ -13253,10 +12837,10 @@ MethodGenerator.prototype._visitVarAssign = function(kind, xn, yn, position, cap
return this._makeMissingValue(name);
}
members = new MemberSet(member, false);
- if (!$notnull_bool(members.get$treatAsField()) || $notnull_bool(members.get$containsMethods())) {
+ if (!members.get$treatAsField() || members.get$containsMethods()) {
if (kind != 0) {
var right = members._get$3(this, position, x);
- right = captureOriginal((right && right.is$Value()));
+ right = captureOriginal(right);
y = right.invoke$4(this, TokenKind.binaryMethodName(kind), position, new Arguments(null, [y]));
}
return members._set$4(this, position, x, y);
@@ -13268,17 +12852,17 @@ MethodGenerator.prototype._visitVarAssign = function(kind, xn, yn, position, cap
}
y = y.convertTo$3(this, x.type, yn);
if (kind == 0) {
- x = captureOriginal((x && x.is$Value()));
+ x = captureOriginal(x);
return new Value(y.type, ('' + x.code + ' = ' + y.code + ''), position.span, true);
}
- else if ($notnull_bool(x.type.get$isNum()) && $notnull_bool(y.type.get$isNum()) && (kind != 46/*TokenKind.TRUNCDIV*/)) {
- x = captureOriginal((x && x.is$Value()));
+ else if (x.type.get$isNum() && y.type.get$isNum() && (kind != 46/*TokenKind.TRUNCDIV*/)) {
+ x = captureOriginal(x);
var op = TokenKind.kindToString(kind);
return new Value(y.type, ('' + x.code + ' ' + op + '= ' + y.code + ''), position.span, true);
}
else {
var right = x;
- right = captureOriginal((right && right.is$Value()));
+ right = captureOriginal(right);
y = right.invoke$4(this, TokenKind.binaryMethodName(kind), position, new Arguments(null, [y]));
return new Value(y.type, ('' + x.code + ' = ' + y.code + ''), position.span, true);
}
@@ -13290,16 +12874,16 @@ MethodGenerator.prototype._visitIndexAssign = function(kind, xn, yn, position, c
var tmptarget = target;
var tmpindex = index;
if (kind != 0) {
- tmptarget = this.getTemp((target && target.is$Value()));
- tmpindex = this.getTemp((index && index.is$Value()));
- index = this.assignTemp((tmpindex && tmpindex.is$Value()), (index && index.is$Value()));
+ tmptarget = this.getTemp(target);
+ tmpindex = this.getTemp(index);
+ index = this.assignTemp(tmpindex, index);
var right = tmptarget.invoke$4(this, '\$index', position, new Arguments(null, [tmpindex]));
- right = captureOriginal((right && right.is$Value()));
+ right = captureOriginal(right);
y = right.invoke$4(this, TokenKind.binaryMethodName(kind), position, new Arguments(null, [y]));
}
- var ret = this.assignTemp((tmptarget && tmptarget.is$Value()), (target && target.is$Value())).invoke(this, '\$setindex', position, new Arguments(null, [index, y]), false);
- if ($notnull_bool($ne(tmptarget, target))) this.freeTemp((tmptarget && tmptarget.is$Value()));
- if ($notnull_bool($ne(tmpindex, index))) this.freeTemp((tmpindex && tmpindex.is$Value()));
+ var ret = this.assignTemp(tmptarget, target).invoke(this, '\$setindex', position, new Arguments(null, [index, y]), false);
+ if ($ne(tmptarget, target)) this.freeTemp(tmptarget);
+ if ($ne(tmpindex, index)) this.freeTemp(tmpindex);
return ret;
}
MethodGenerator.prototype._visitDotAssign = function(kind, xn, yn, position, captureOriginal) {
@@ -13307,36 +12891,35 @@ MethodGenerator.prototype._visitDotAssign = function(kind, xn, yn, position, cap
var y = this.visitValue(yn);
var tmptarget = target;
if (kind != 0) {
- tmptarget = this.getTemp((target && target.is$Value()));
+ tmptarget = this.getTemp(target);
var right = tmptarget.get_$3(this, xn.name.name, xn.name);
- right = captureOriginal((right && right.is$Value()));
+ right = captureOriginal(right);
y = right.invoke$4(this, TokenKind.binaryMethodName(kind), position, new Arguments(null, [y]));
}
- var ret = this.assignTemp((tmptarget && tmptarget.is$Value()), (target && target.is$Value())).set_(this, xn.name.name, xn.name, (y && y.is$Value()), false);
- if ($notnull_bool($ne(tmptarget, target))) this.freeTemp((tmptarget && tmptarget.is$Value()));
+ var ret = this.assignTemp(tmptarget, target).set_(this, xn.name.name, xn.name, y, false);
+ if ($ne(tmptarget, target)) this.freeTemp(tmptarget);
return ret;
}
MethodGenerator.prototype.visitUnaryExpression = function(node) {
- var $0;
var value = this.visitValue(node.self);
switch (node.op.kind) {
case 16/*TokenKind.INCR*/:
case 17/*TokenKind.DECR*/:
- if ($notnull_bool(value.type.get$isNum())) {
+ if (value.type.get$isNum()) {
return new Value(value.type, ('' + node.op + '' + value.code + ''), node.span, true);
}
else {
var kind = (16/*TokenKind.INCR*/ == node.op.kind ? 42/*TokenKind.ADD*/ : 43/*TokenKind.SUB*/);
var operand = new LiteralExpression(1, new TypeReference(node.span, world.numType), '1', node.span);
- return this._visitAssign($assert_num(kind), node.self, (operand && operand.is$lang_Expression()), node, to$call$1(null));
+ return this._visitAssign(kind, node.self, operand, node, to$call$1(null));
}
case 19/*TokenKind.NOT*/:
- if ($notnull_bool(value.type.get$isBool()) && $notnull_bool(value.get$isConst())) {
- var newVal = !$notnull_bool(value.get$actualValue());
- return EvaluatedValue.EvaluatedValue$factory((($0 = value.type) && $0.is$lang_Type()), newVal, ('' + newVal + ''), node.span);
+ if (value.type.get$isBool() && value.get$isConst()) {
+ var newVal = !value.get$actualValue();
+ return EvaluatedValue.EvaluatedValue$factory(value.type, newVal, ('' + newVal + ''), node.span);
}
else {
var newVal = value.convertTo$3(this, world.nonNullBool, node);
@@ -13370,66 +12953,65 @@ MethodGenerator.prototype.visitUnaryExpression = function(node) {
MethodGenerator.prototype.visitPostfixExpression = function(node, isVoid) {
var $this = this; // closure support
var value = this.visitValue(node.body);
- if ($notnull_bool(value.type.get$isNum())) {
+ if (value.type.get$isNum()) {
return new Value(value.type, ('' + value.code + '' + node.op + ''), node.span, true);
}
var kind = (16/*TokenKind.INCR*/ == node.op.kind) ? 42/*TokenKind.ADD*/ : 43/*TokenKind.SUB*/;
var operand = new LiteralExpression(1, new TypeReference(node.span, world.numType), '1', node.span);
var tmpleft = null, left = null;
- var ret = this._visitAssign($assert_num(kind), node.body, (operand && operand.is$lang_Expression()), node, (function (l) {
- if ($notnull_bool(isVoid)) {
+ var ret = this._visitAssign(kind, node.body, operand, node, (function (l) {
+ if (isVoid) {
return l;
}
else {
left = l;
- tmpleft = $this.forceTemp((l && l.is$Value()));
- return $this.assignTemp((tmpleft && tmpleft.is$Value()), (left && left.is$Value()));
+ tmpleft = $this.forceTemp(l);
+ return $this.assignTemp(tmpleft, left);
}
})
);
- if ($notnull_bool($ne(tmpleft, null))) {
+ if ($ne(tmpleft, null)) {
ret = new Value(ret.type, ("(" + ret.code + ", " + tmpleft.code + ")"), node.span, true);
}
- if ($notnull_bool($ne(tmpleft, left))) {
- this.freeTemp((tmpleft && tmpleft.is$Value()));
+ if ($ne(tmpleft, left)) {
+ this.freeTemp(tmpleft);
}
return ret;
}
MethodGenerator.prototype.visitNewExpression = function(node) {
- var $0;
var typeRef = node.type;
var constructorName = '';
if (node.name != null) {
constructorName = node.name.name;
}
- if ($notnull_bool($eq(constructorName, '')) && !(typeRef instanceof GenericTypeReference) && typeRef.names != null) {
+ if ($eq(constructorName, '') && !(typeRef instanceof GenericTypeReference) && typeRef.names != null) {
var names = ListFactory.ListFactory$from$factory(typeRef.names);
constructorName = names.removeLast$0().get$name();
if (names.length == 0) names = null;
typeRef = new NameTypeReference(typeRef.isFinal, typeRef.get$name(), names, typeRef.get$span());
}
- var type = this.method.resolveType((typeRef && typeRef.is$TypeReference()), true);
- if ($notnull_bool(type.get$isTop())) {
- type = type.get$library().findTypeByName($assert_String(constructorName));
+ var type = this.method.resolveType(typeRef, true);
+ if (type.get$isTop()) {
+ type = type.get$library().findTypeByName(constructorName);
constructorName = '';
}
var m = type.getConstructor$1(constructorName);
- if ($notnull_bool(m == null)) {
+ if (m == null) {
var name = type.get$jsname();
- if ($notnull_bool(type.get$isVar())) {
+ if (type.get$isVar()) {
name = typeRef.get$name().get$name();
}
world.error(('no matching constructor for ' + name + ''), node.span);
- return this._makeMissingValue($assert_String(name));
+ return this._makeMissingValue(name);
}
- if ($notnull_bool(node.isConst)) {
- if (!$notnull_bool(m.get$isConst())) {
+ if (node.isConst) {
+ if (!m.get$isConst()) {
world.error('can\'t use const on a non-const constructor', node.span);
}
var $list = node.arguments;
for (var $i = 0;$i < $list.length; $i++) {
var arg = $list.$index($i);
- if (!$notnull_bool(this.visitValue((($0 = arg.get$value()) && $0.is$lang_Expression())).get$isConst())) {
+ if (!this.visitValue(arg.get$value()).get$isConst()) {
world.error('const constructor expects const arguments', arg.get$span());
}
}
@@ -13442,10 +13024,10 @@ MethodGenerator.prototype.visitListExpression = function(node) {
var $list = node.values;
for (var $i = 0;$i < $list.length; $i++) {
var item = $list.$index($i);
- var arg = this.visitValue((item && item.is$lang_Expression()));
+ var arg = this.visitValue(item);
argValues.add$1(arg);
- if ($notnull_bool(node.isConst)) {
- if (!$notnull_bool(arg.get$isConst())) {
+ if (node.isConst) {
+ if (!arg.get$isConst()) {
world.error('const list can only contain const values', item.get$span());
argsCode.add$1(arg.code);
}
@@ -13458,30 +13040,29 @@ MethodGenerator.prototype.visitListExpression = function(node) {
}
}
world.get$coreimpl().types.$index('ListFactory').markUsed$0();
- var code = ('[' + Strings.join((argsCode && argsCode.is$List$String()), ", ") + ']');
+ var code = ('[' + Strings.join(argsCode, ", ") + ']');
var value = new Value(world.listType, code, node.span, true);
- if ($notnull_bool(node.isConst)) {
+ if (node.isConst) {
var immutableList = world.get$coreimpl().types.$index('ImmutableList');
var immutableListCtor = immutableList.getConstructor$1('from');
var result = immutableListCtor.invoke$4(this, node, null, new Arguments(null, [value]));
- value = world.gen.globalForConst(ConstListValue.ConstListValue$factory((immutableList && immutableList.is$lang_Type()), (argValues && argValues.is$List$EvaluatedValue()), ('const ' + code + ''), $assert_String(result.code), node.span), (argValues && argValues.is$List$Value()));
+ value = world.gen.globalForConst(ConstListValue.ConstListValue$factory(immutableList, argValues, ('const ' + code + ''), result.code, node.span), argValues);
}
return value;
}
MethodGenerator.prototype.visitMapExpression = function(node) {
- var $0;
var mapImplType = world.gen.useMapFactory();
var argValues = [];
var argsCode = [];
for (var i = 0;
i < node.items.length; i += 2) {
- var key = this.visitTypedValue((($0 = node.items.$index(i)) && $0.is$lang_Expression()), world.stringType);
+ var key = this.visitTypedValue(node.items.$index(i), world.stringType);
var valueItem = node.items.$index(i + 1);
- var value = this.visitValue((valueItem && valueItem.is$lang_Expression()));
+ var value = this.visitValue(valueItem);
argValues.add$1(key);
argValues.add$1(value);
- if ($notnull_bool(node.isConst)) {
- if (!$notnull_bool(key.get$isConst()) || !$notnull_bool(value.get$isConst())) {
+ if (node.isConst) {
+ if (!key.get$isConst() || !value.get$isConst()) {
world.error('const map can only contain const values', valueItem.get$span());
argsCode.add$1(key.code);
argsCode.add$1(value.code);
@@ -13496,25 +13077,24 @@ MethodGenerator.prototype.visitMapExpression = function(node) {
argsCode.add$1(value.code);
}
}
- var argList = ('[' + Strings.join((argsCode && argsCode.is$List$String()), ", ") + ']');
+ var argList = ('[' + Strings.join(argsCode, ", ") + ']');
var code = ('\$map(' + argList + ')');
- if ($notnull_bool(node.isConst)) {
+ if (node.isConst) {
var immutableMap = world.get$coreimpl().types.$index('ImmutableMap');
var immutableMapCtor = immutableMap.getConstructor$1('');
var argsValue = new Value(world.listType, argList, node.span, true);
var result = immutableMapCtor.invoke$4(this, node, null, new Arguments(null, [argsValue]));
- var value = ConstMapValue.ConstMapValue$factory((immutableMap && immutableMap.is$lang_Type()), (argValues && argValues.is$List$EvaluatedValue()), code, $assert_String(result.code), node.span);
- return world.gen.globalForConst(value, (argValues && argValues.is$List$Value()));
+ var value = ConstMapValue.ConstMapValue$factory(immutableMap, argValues, code, result.code, node.span);
+ return world.gen.globalForConst(value, argValues);
}
return new Value(mapImplType, code, node.span, true);
}
MethodGenerator.prototype.visitConditionalExpression = function(node) {
- var $0;
var test = this.visitBool(node.test);
var trueBranch = this.visitValue(node.trueBranch);
var falseBranch = this.visitValue(node.falseBranch);
var code = ('' + test.code + ' ? ' + trueBranch.code + ' : ' + falseBranch.code + '');
- return new Value(lang_Type.union((($0 = trueBranch.type) && $0.is$lang_Type()), (($0 = falseBranch.type) && $0.is$lang_Type())), code, node.span, true);
+ return new Value(lang_Type.union(trueBranch.type, falseBranch.type), code, node.span, true);
}
MethodGenerator.prototype.visitIsExpression = function(node) {
var value = this.visitValue(node.x);
@@ -13522,10 +13102,9 @@ MethodGenerator.prototype.visitIsExpression = function(node) {
return value.instanceOf$4(this, type, node.span, node.isTrue);
}
MethodGenerator.prototype.visitParenExpression = function(node) {
- var $0;
var body = this.visitValue(node.body);
- if ($notnull_bool(body.get$isConst())) {
- return EvaluatedValue.EvaluatedValue$factory((($0 = body.type) && $0.is$lang_Type()), body.get$actualValue(), ('(' + body.get$canonicalCode() + ')'), node.span);
+ if (body.get$isConst()) {
+ return EvaluatedValue.EvaluatedValue$factory(body.type, body.get$actualValue(), ('(' + body.get$canonicalCode() + ')'), node.span);
}
return new Value(body.type, ('(' + body.code + ')'), node.span, true);
}
@@ -13536,15 +13115,14 @@ MethodGenerator.prototype.visitDotExpression = function(node) {
MethodGenerator.prototype.visitVarExpression = function(node) {
var name = node.name.name;
var ret = this._scope.lookup(name);
- if ($notnull_bool($ne(ret, null))) return ret;
+ if ($ne(ret, null)) return ret;
return this._makeThisOrType(node.span).get_$3(this, name, node);
}
MethodGenerator.prototype._makeMissingValue = function(name) {
return new Value(world.varType, ('' + name + '()/*NotFound*/'), null, true);
}
MethodGenerator.prototype._makeThisOrType = function(span) {
- var $0;
- return new BareValue(this, (($0 = this._getOutermostMethod()) && $0.is$MethodGenerator()), span);
+ return new BareValue(this, this._getOutermostMethod(), span);
}
MethodGenerator.prototype.visitThisExpression = function(node) {
return this._makeThisValue(node);
@@ -13558,13 +13136,12 @@ MethodGenerator.prototype.visitNullExpression = function(node) {
MethodGenerator.prototype.visitLiteralExpression = function(node) {
var $0;
var type = node.type.type;
- $assert($ne(type, null), "type != null", "gen.dart", 2083, 12);
if (!!(($0 = node.value) && $0.is$List)) {
var items = [];
var $list = node.value;
for (var $i = node.value.iterator$0(); $i.hasNext$0(); ) {
var item = $i.next$0();
- var val = this.visitValue((item && item.is$lang_Expression()));
+ var val = this.visitValue(item);
val.invoke$4(this, 'toString', item, Arguments.get$EMPTY());
var code = val.code;
if ((item instanceof BinaryExpression) || (item instanceof ConditionalExpression)) {
@@ -13572,32 +13149,32 @@ MethodGenerator.prototype.visitLiteralExpression = function(node) {
}
items.add$1(code);
}
- return new Value(type, ('(' + Strings.join((items && items.is$List$String()), " + ") + ')'), node.span, true);
+ return new Value(type, ('(' + Strings.join(items, " + ") + ')'), node.span, true);
}
var text = node.text;
- if ($notnull_bool(type.get$isString())) {
- if ($notnull_bool(text.startsWith$1('@'))) {
- text = MethodGenerator._escapeString(parseStringLiteral($assert_String(text)));
+ if (type.get$isString()) {
+ if (text.startsWith$1('@')) {
+ text = MethodGenerator._escapeString(parseStringLiteral(text));
text = ('"' + text + '"');
}
- else if ($notnull_bool(isMultilineString($assert_String(text)))) {
- text = parseStringLiteral($assert_String(text));
+ else if (isMultilineString(text)) {
+ text = parseStringLiteral(text);
text = text.replaceAll$2('\n', '\\n');
text = text.replaceAll$2('"', '\\"');
text = ('"' + text + '"');
}
if (text !== node.text) {
node.value = text;
- node.text = $assert_String(text);
+ node.text = text;
}
}
- return EvaluatedValue.EvaluatedValue$factory((type && type.is$lang_Type()), node.value, node.text, null);
+ return EvaluatedValue.EvaluatedValue$factory(type, node.value, node.text, null);
}
MethodGenerator.prototype.visitPostfixExpression$1 = function($0) {
- return this.visitPostfixExpression(($0 && $0.is$PostfixExpression()), false);
+ return this.visitPostfixExpression($0, false);
};
MethodGenerator.prototype.writeDefinition$2 = function($0, $1) {
- return this.writeDefinition(($0 && $0.is$CodeWriter()), ($1 && $1.is$LambdaExpression()));
+ return this.writeDefinition($0, $1);
};
// ********** Code for Arguments **************
function Arguments(nodes, values) {
@@ -13605,7 +13182,6 @@ function Arguments(nodes, values) {
this.values = values;
// Initializers done
}
-Arguments.prototype.is$Arguments = function(){return this;};
Arguments.Arguments$bare$factory = function(arity) {
var values = [];
for (var i = 0;
@@ -13645,9 +13221,8 @@ Arguments.prototype.getIndexOfName = function(name) {
return -1;
}
Arguments.prototype.getValue = function(name) {
- var $0;
var i = this.getIndexOfName(name);
- return (($0 = i >= 0 ? this.values.$index(i) : null) && $0.is$Value());
+ return i >= 0 ? this.values.$index(i) : null;
}
Arguments.prototype.get$bareCount = function() {
if (this._bareCount == null) {
@@ -13670,11 +13245,11 @@ Arguments.prototype.getCode = function() {
i < this.get$length(); i++) {
argsCode.add$1(this.values.$index(i).code);
}
- Arguments.removeTrailingNulls((argsCode && argsCode.is$List$Value()));
- return Strings.join((argsCode && argsCode.is$List$String()), ", ");
+ Arguments.removeTrailingNulls(argsCode);
+ return Strings.join(argsCode, ", ");
}
Arguments.removeTrailingNulls = function(argsCode) {
- while (argsCode.length > 0 && $notnull_bool($eq(argsCode.last(), 'null'))) {
+ while (argsCode.length > 0 && $eq(argsCode.last(), 'null')) {
argsCode.removeLast();
}
}
@@ -13684,7 +13259,7 @@ Arguments.prototype.getNames = function() {
i < this.get$length(); i++) {
names.add$1(this.getName(i));
}
- return (names && names.is$List$String());
+ return names;
}
Arguments.prototype.toCallStubArgs = function() {
var result = [];
@@ -13695,7 +13270,7 @@ Arguments.prototype.toCallStubArgs = function() {
for (var i = this.get$bareCount();
i < this.get$length(); i++) {
var name = this.getName(i);
- if ($notnull_bool(name == null)) name = ('\$' + i + '');
+ if (name == null) name = ('\$' + i + '');
result.add$1(new Value(world.varType, name, null, false));
}
return new Arguments(this.nodes, result);
@@ -13721,7 +13296,6 @@ function Library(baseSource) {
this.sources = [];
this._privateMembers = $map([]);
}
-Library.prototype.is$Library = function(){return this;};
Library.prototype.get$name = function() { return this.name; };
Library.prototype.set$name = function(value) { return this.name = value; };
Library.prototype.get$isCore = function() {
@@ -13755,24 +13329,23 @@ Library.prototype.addNative = function(fullname) {
this.natives.add(world.reader.readFile(fullname));
}
Library.prototype._findMembers = function(name) {
- var $0;
if (name.startsWith('_')) {
- return (($0 = this._privateMembers.$index(name)) && $0.is$MemberSet());
+ return this._privateMembers.$index(name);
}
else {
- return (($0 = world._members.$index(name)) && $0.is$MemberSet());
+ return world._members.$index(name);
}
}
Library.prototype._addMember = function(member) {
- if ($notnull_bool(member.get$isPrivate())) {
- if ($notnull_bool(member.get$isStatic())) {
- if ($notnull_bool(member.declaringType.get$isTop())) {
+ if (member.get$isPrivate()) {
+ if (member.get$isStatic()) {
+ if (member.declaringType.get$isTop()) {
world._addTopName(member);
}
return;
}
var mset = this._privateMembers.$index(member.name);
- if ($notnull_bool(mset == null)) {
+ if (mset == null) {
var $list = world.libraries.getValues();
for (var $i = world.libraries.getValues().iterator$0(); $i.hasNext$0(); ) {
var lib = $i.next$0();
@@ -13801,10 +13374,9 @@ Library.prototype.getOrAddFunctionType = function(name, func, inType) {
return type;
}
Library.prototype.addType = function(name, definition, isClass) {
- var $0;
if (this.types.containsKey(name)) {
var existingType = this.types.$index(name);
- if ($notnull_bool(this.get$isCore()) && $notnull_bool(existingType.get$definition() == null)) {
+ if (this.get$isCore() && existingType.get$definition() == null) {
existingType.setDefinition$1(definition);
}
else {
@@ -13812,9 +13384,9 @@ Library.prototype.addType = function(name, definition, isClass) {
}
}
else {
- this.types.$setindex(name, new DefinedType(name, this, (definition && definition.is$Definition()), isClass));
+ this.types.$setindex(name, new DefinedType(name, this, definition, isClass));
}
- return (($0 = this.types.$index(name)) && $0.is$DefinedType());
+ return this.types.$index(name);
}
Library.prototype.findType = function(type) {
var result = this.findTypeByName(type.name.name);
@@ -13823,10 +13395,10 @@ Library.prototype.findType = function(type) {
if (type.names.length > 1) {
return null;
}
- if (!$notnull_bool(result.get$isTop())) {
+ if (!result.get$isTop()) {
return null;
}
- return result.get$library().findTypeByName($assert_String(type.names.$index(0).get$name()));
+ return result.get$library().findTypeByName(type.names.$index(0).get$name());
}
return result;
}
@@ -13842,8 +13414,8 @@ Library.prototype.findTypeByName = function(name) {
else if (imported.prefix == name) {
newRet = imported.get$library().topType;
}
- if ($notnull_bool($ne(newRet, null))) {
- if ($notnull_bool($ne(ret, null)) && $notnull_bool($ne(ret, newRet))) {
+ if ($ne(newRet, null)) {
+ if ($ne(ret, null) && $ne(ret, newRet)) {
world.error(('conflicting types for "' + name + '"'), ret.get$span(), newRet.get$span());
}
else {
@@ -13851,17 +13423,17 @@ Library.prototype.findTypeByName = function(name) {
}
}
}
- return (ret && ret.is$lang_Type());
+ return ret;
}
Library.prototype.lookup = function(name, span) {
var retType = this.findTypeByName(name);
var ret = null;
- if ($notnull_bool($ne(retType, null))) {
+ if ($ne(retType, null)) {
ret = retType.get$typeMember();
}
var newRet = this.topType.getMember(name);
- if ($notnull_bool($ne(newRet, null))) {
- if ($notnull_bool($ne(ret, null)) && $notnull_bool($ne(ret, newRet))) {
+ if ($ne(newRet, null)) {
+ if ($ne(ret, null) && $ne(ret, newRet)) {
world.error(('conflicting members for "' + name + '"'), span, ret.get$span(), newRet.get$span());
}
else {
@@ -13873,8 +13445,8 @@ Library.prototype.lookup = function(name, span) {
var imported = $list.$index($i);
if (imported.prefix == null) {
newRet = imported.get$library().topType.getMember(name);
- if ($notnull_bool($ne(newRet, null))) {
- if ($notnull_bool($ne(ret, null)) && $notnull_bool($ne(ret, newRet))) {
+ if ($ne(newRet, null)) {
+ if ($ne(ret, null) && $ne(ret, newRet)) {
world.error(('conflicting members for "' + name + '"'), span, ret.get$span(), newRet.get$span());
}
else {
@@ -13883,18 +13455,18 @@ Library.prototype.lookup = function(name, span) {
}
}
}
- return (ret && ret.is$Member());
+ return ret;
}
Library.prototype.resolve = function() {
if (this.name == null) {
this.name = this.baseSource.filename;
var index = this.name.lastIndexOf('/', this.name.length);
if (index >= 0) {
- this.name = this.name.substring($assert_num(index + 1));
+ this.name = this.name.substring(index + 1);
}
index = this.name.indexOf('.', 0);
if (index > 0) {
- this.name = this.name.substring(0, $assert_num(index));
+ this.name = this.name.substring(0, index);
}
}
var $list = this.types.getValues();
@@ -13930,18 +13502,17 @@ function _LibraryVisitor(library) {
this.currentType = this.library.topType;
this.sources = [];
}
-_LibraryVisitor.prototype.is$TreeVisitor = function(){return this;};
_LibraryVisitor.prototype.get$library = function() { return this.library; };
_LibraryVisitor.prototype.get$isTop = function() { return this.isTop; };
_LibraryVisitor.prototype.set$isTop = function(value) { return this.isTop = value; };
_LibraryVisitor.prototype.addSourceFromName = function(name, span) {
var filename = this.library.makeFullPath(name);
- if ($notnull_bool($eq(filename, this.library.baseSource.filename))) {
+ if ($eq(filename, this.library.baseSource.filename)) {
world.error('library can not source itself', span);
return;
}
else if (this.sources.some((function (s) {
- return $eq(s.filename, filename);
+ return s.filename == filename;
})
)) {
world.error(('file "' + filename + '" has already been sourced'), span);
@@ -13966,17 +13537,16 @@ _LibraryVisitor.prototype.addSource = function(source) {
return def.visit$1($this);
})
);
- $assert(this.sources.length == 0 || $notnull_bool(this.isTop), "sources.length == 0 || isTop", "library.dart", 293, 12);
this.isTop = false;
var newSources = this.sources;
this.sources = [];
for (var $i = newSources.iterator$0(); $i.hasNext$0(); ) {
var source0 = $i.next$0();
- this.addSource((source0 && source0.is$SourceFile()));
+ this.addSource(source0);
}
}
_LibraryVisitor.prototype.visitDirectiveDefinition = function(node) {
- if (!$notnull_bool(this.isTop)) {
+ if (!this.isTop) {
world.error('directives not allowed in sourced file', node.span);
return;
}
@@ -13986,11 +13556,11 @@ _LibraryVisitor.prototype.visitDirectiveDefinition = function(node) {
name = this.getSingleStringArg(node);
if (this.library.name == null) {
- this.library.name = $assert_String(name);
- if ($notnull_bool($eq(name, 'node')) || $notnull_bool($eq(name, 'dom'))) {
+ this.library.name = name;
+ if ($eq(name, 'node') || $eq(name, 'dom')) {
this.library.topType.isNativeType = true;
}
- if ($notnull_bool(this.seenImport) || $notnull_bool(this.seenSource) || $notnull_bool(this.seenResource)) {
+ if (this.seenImport || this.seenSource || this.seenResource) {
world.error('#library must be first directive in file', node.span);
}
}
@@ -14004,17 +13574,17 @@ _LibraryVisitor.prototype.visitDirectiveDefinition = function(node) {
this.seenImport = true;
name = this.getFirstStringArg(node);
var prefix = this.tryGetNamedStringArg(node, 'prefix');
- if (node.arguments.length > 2 || node.arguments.length == 2 && $notnull_bool(prefix == null)) {
+ if (node.arguments.length > 2 || node.arguments.length == 2 && prefix == null) {
world.error('expected at most one "name" argument and one optional "prefix"' + (' but found ' + node.arguments.length + ''), node.span);
}
- else if ($notnull_bool($ne(prefix, null)) && prefix.indexOf$2('.', 0) >= 0) {
+ else if ($ne(prefix, null) && prefix.indexOf$2('.', 0) >= 0) {
world.error('library prefix canot contain "."', node.span);
}
- else if ($notnull_bool(this.seenSource) || $notnull_bool(this.seenResource)) {
+ else if (this.seenSource || this.seenResource) {
world.error('#imports must come before any #source or #resource', node.span);
}
- if ($notnull_bool($eq(prefix, ''))) prefix = null;
- var filename = this.library.makeFullPath($assert_String(name));
+ if ($eq(prefix, '')) prefix = null;
+ var filename = this.library.makeFullPath(name);
if (this.library.imports.some((function (li) {
return $eq(li.get$library().baseSource, filename);
})
@@ -14022,15 +13592,15 @@ _LibraryVisitor.prototype.visitDirectiveDefinition = function(node) {
world.error(('duplicate import of "' + name + '"'), node.span);
return;
}
- var newLib = this.library.addImport($assert_String(filename), $assert_String(prefix));
+ var newLib = this.library.addImport(filename, prefix);
break;
case "source":
this.seenSource = true;
name = this.getSingleStringArg(node);
- this.addSourceFromName($assert_String(name), node.span);
- if ($notnull_bool(this.seenResource)) {
+ this.addSourceFromName(name, node.span);
+ if (this.seenResource) {
world.error('#sources must come before any #resource', node.span);
}
break;
@@ -14038,7 +13608,7 @@ _LibraryVisitor.prototype.visitDirectiveDefinition = function(node) {
case "native":
name = this.getSingleStringArg(node);
- this.library.addNative(this.library.makeFullPath($assert_String(name)));
+ this.library.addNative(this.library.makeFullPath(name));
break;
case "resource":
@@ -14067,7 +13637,7 @@ _LibraryVisitor.prototype.getFirstStringArg = function(node) {
if (arg.label != null) {
world.error('label not allowed for directive', node.span);
}
- return this._parseStringArgument((arg && arg.is$ArgumentNode()));
+ return this._parseStringArgument(arg);
}
_LibraryVisitor.prototype.tryGetNamedStringArg = function(node, argName) {
var args = node.arguments.filter((function (a) {
@@ -14082,15 +13652,15 @@ _LibraryVisitor.prototype.tryGetNamedStringArg = function(node, argName) {
}
for (var $i = args.iterator$0(); $i.hasNext$0(); ) {
var arg = $i.next$0();
- return this._parseStringArgument((arg && arg.is$ArgumentNode()));
+ return this._parseStringArgument(arg);
}
}
_LibraryVisitor.prototype._parseStringArgument = function(arg) {
var expr = arg.value;
- if (!(expr instanceof LiteralExpression) || !$notnull_bool(expr.type.type.get$isString())) {
+ if (!(expr instanceof LiteralExpression) || !expr.type.type.get$isString()) {
world.error('expected string', expr.get$span());
}
- return parseStringLiteral($assert_String(expr.get$value()));
+ return parseStringLiteral(expr.get$value());
}
_LibraryVisitor.prototype.visitTypeDefinition = function(node) {
var oldType = this.currentType;
@@ -14100,7 +13670,7 @@ _LibraryVisitor.prototype.visitTypeDefinition = function(node) {
var member = $list.$index($i);
member.visit$1(this);
}
- this.currentType = (oldType && oldType.is$DefinedType());
+ this.currentType = oldType;
}
_LibraryVisitor.prototype.visitVariableDefinition = function(node) {
this.currentType.addField(node);
@@ -14113,7 +13683,7 @@ _LibraryVisitor.prototype.visitFunctionTypeDefinition = function(node) {
type.addMethod$2('\$call', node.func);
}
_LibraryVisitor.prototype.addSource$1 = function($0) {
- return this.addSource(($0 && $0.is$SourceFile()));
+ return this.addSource($0);
};
// ********** Code for Parameter **************
function Parameter(definition) {
@@ -14121,13 +13691,10 @@ function Parameter(definition) {
this.definition = definition;
// Initializers done
}
-Parameter.prototype.is$Parameter = function(){return this;};
Parameter.prototype.get$definition = function() { return this.definition; };
Parameter.prototype.set$definition = function(value) { return this.definition = value; };
Parameter.prototype.get$name = function() { return this.name; };
Parameter.prototype.set$name = function(value) { return this.name = value; };
-Parameter.prototype.get$type = function() { return this.type; };
-Parameter.prototype.set$type = function(value) { return this.type = value; };
Parameter.prototype.get$value = function() { return this.value; };
Parameter.prototype.set$value = function(value) { return this.value = value; };
Parameter.prototype.resolve = function(method, inType) {
@@ -14137,52 +13704,50 @@ Parameter.prototype.resolve = function(method, inType) {
this.isInitializer = true;
}
this.type = inType.resolveType(this.definition.type, false);
- if ($notnull_bool(method.get$isStatic()) && $notnull_bool(this.type.get$hasTypeParams())) {
+ if (method.get$isStatic() && this.type.get$hasTypeParams()) {
world.error('using type parameter in static context', this.definition.span);
}
if (this.definition.value != null) {
if ((this.definition.value instanceof NullExpression) && this.definition.value.span.start == this.definition.span.start) {
return;
}
- if ($notnull_bool(method.get$isAbstract())) {
+ if (method.get$isAbstract()) {
world.error('default value not allowed on abstract methods', this.definition.span);
}
- else if (method.name == '\$call' && $notnull_bool(method.get$definition().body == null)) {
+ else if (method.name == '\$call' && method.get$definition().body == null) {
world.error('default value not allowed on function type', this.definition.span);
}
}
- else if ($notnull_bool(this.isInitializer) && !$notnull_bool(method.get$isConstructor())) {
+ else if (this.isInitializer && !method.get$isConstructor()) {
world.error('initializer parameters only allowed on constructors', this.definition.span);
}
}
Parameter.prototype.genValue = function(method, context) {
- var $0;
if (this.definition.value == null || this.value != null) return;
if (context == null) {
context = new MethodGenerator(method, null);
}
- this.value = (($0 = this.definition.value.visit(context)) && $0.is$Value());
+ this.value = this.definition.value.visit(context);
this.value = this.value.convertTo(context, this.type, this.definition.value, false);
}
Parameter.prototype.copyWithNewType = function(newType) {
- var $0;
var ret = new Parameter(this.definition);
- ret.set$type(newType);
- ret.set$name(this.name);
+ ret.type = newType;
+ ret.name = this.name;
ret.isInitializer = this.isInitializer;
- return (ret && ret.is$Parameter());
+ return ret;
}
Parameter.prototype.get$isOptional = function() {
return this.definition != null && this.definition.value != null;
}
Parameter.prototype.copyWithNewType$1 = function($0) {
- return this.copyWithNewType(($0 && $0.is$lang_Type()));
+ return this.copyWithNewType($0);
};
Parameter.prototype.genValue$2 = function($0, $1) {
- return this.genValue(($0 && $0.is$MethodMember()), ($1 && $1.is$MethodGenerator()));
+ return this.genValue($0, $1);
};
Parameter.prototype.resolve$2 = function($0, $1) {
- return this.resolve(($0 && $0.is$Member()), ($1 && $1.is$lang_Type()));
+ return this.resolve($0, $1);
};
// ********** Code for Member **************
function Member(name, declaringType) {
@@ -14191,8 +13756,6 @@ function Member(name, declaringType) {
this.isGenerated = false;
// Initializers done
}
-Member.prototype.is$Member = function(){return this;};
-Member.prototype.is$Named = function(){return this;};
Member.prototype.get$name = function() { return this.name; };
Member.prototype.get$jsname = function() {
return this._jsname == null ? this.name : this._jsname;
@@ -14259,10 +13822,10 @@ Member.prototype.set$initDelegate = function(ctor) {
}
Member.prototype.get$inferredResult = function() {
var t = this.get$returnType();
- if ($notnull_bool(t.get$isBool()) && ($notnull_bool(this.get$library().get$isCore()) || $notnull_bool(this.get$library().get$isCoreImpl()))) {
+ if (t.get$isBool() && (this.get$library().get$isCore() || this.get$library().get$isCoreImpl())) {
return world.nonNullBool;
}
- return (t && t.is$lang_Type());
+ return t;
}
Member.prototype.get$definition = function() {
return null;
@@ -14271,26 +13834,24 @@ Member.prototype.get$parameters = function() {
return [];
}
Member.prototype.canInvoke = function(context, args) {
- return $notnull_bool(this.get$canGet()) && $notnull_bool(new Value(this.get$returnType(), null, null, true).canInvoke(context, '\$call', args));
+ return this.get$canGet() && new Value(this.get$returnType(), null, null, true).canInvoke(context, '\$call', args);
}
Member.prototype.invoke = function(context, node, target, args, isDynamic) {
- var $0;
var newTarget = this._get(context, node, target, isDynamic);
- return (($0 = newTarget.invoke$5(context, '\$call', node, args, isDynamic)) && $0.is$Value());
+ return newTarget.invoke$5(context, '\$call', node, args, isDynamic);
}
Member.prototype.override = function(other) {
- if ($notnull_bool(this.get$isStatic())) {
+ if (this.get$isStatic()) {
world.error('static members can not hide parent members', this.get$span(), other.get$span());
return false;
}
- else if ($notnull_bool(other.get$isStatic())) {
+ else if (other.get$isStatic()) {
world.error('can not override static member', this.get$span(), other.get$span());
return false;
}
return true;
}
Member.prototype.get$generatedFactoryName = function() {
- $assert(this.get$isFactory(), "this.isFactory", "member.dart", 195, 12);
var prefix = ('' + this.declaringType.get$jsname() + '.' + this.get$constructorName() + '\$');
if (this.name == '') {
return ('' + prefix + 'factory');
@@ -14301,28 +13862,28 @@ Member.prototype.get$generatedFactoryName = function() {
}
Member.prototype.resolveType = function(node, isRequired) {
var type = this.declaringType.resolveType(node, isRequired);
- if ($notnull_bool(this.get$isStatic()) && $notnull_bool(type.get$hasTypeParams())) {
+ if (this.get$isStatic() && type.get$hasTypeParams()) {
world.error('using type parameter in static context', node.span);
}
- return (type && type.is$lang_Type());
+ return type;
}
Member.prototype._get$3 = function($0, $1, $2) {
- return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()));
+ return this._get($0, $1, $2);
};
Member.prototype._set$4 = function($0, $1, $2, $3) {
- return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Value()));
+ return this._set($0, $1, $2, $3);
};
Member.prototype.canInvoke$2 = function($0, $1) {
- return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments()));
+ return this.canInvoke($0, $1);
};
Member.prototype.invoke$4 = function($0, $1, $2, $3) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false);
+ return this.invoke($0, $1, $2, $3, false);
};
Member.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic));
+ return this.invoke($0, $1, $2, $3, isDynamic);
};
Member.prototype.invoke$5 = function($0, $1, $2, $3, $4) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4));
+ return this.invoke($0, $1, $2, $3, $4);
};
Member.prototype.provideFieldSyntax$0 = function() {
return this.provideFieldSyntax();
@@ -14331,7 +13892,7 @@ Member.prototype.providePropertySyntax$0 = function() {
return this.providePropertySyntax();
};
Member.prototype.resolve$1 = function($0) {
- return this.resolve(($0 && $0.is$lang_Type()));
+ return this.resolve($0);
};
// ********** Code for TypeMember **************
function TypeMember(type) {
@@ -14340,8 +13901,6 @@ function TypeMember(type) {
// Initializers done
}
$inherits(TypeMember, Member);
-TypeMember.prototype.is$TypeMember = function(){return this;};
-TypeMember.prototype.get$type = function() { return this.type; };
TypeMember.prototype.get$span = function() {
return this.type.definition.span;
}
@@ -14366,7 +13925,7 @@ TypeMember.prototype.resolve = function(inType) {
TypeMember.prototype._get = function(context, node, target, isDynamic) {
var ret = new Value(this.type, this.type.get$jsname(), node.span, false);
ret.isType = true;
- return (ret && ret.is$Value());
+ return ret;
}
TypeMember.prototype._set = function(context, node, target, value, isDynamic) {
world.error('can not set type', this.type.definition.span);
@@ -14375,25 +13934,25 @@ TypeMember.prototype.invoke = function(context, node, target, args, isDynamic) {
world.error('can not invoke type', this.type.definition.span);
}
TypeMember.prototype._get$3 = function($0, $1, $2) {
- return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), false);
+ return this._get($0, $1, $2, false);
};
TypeMember.prototype._set$4 = function($0, $1, $2, $3) {
- return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Value()), false);
+ return this._set($0, $1, $2, $3, false);
};
TypeMember.prototype.canInvoke$2 = function($0, $1) {
- return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments()));
+ return this.canInvoke($0, $1);
};
TypeMember.prototype.invoke$4 = function($0, $1, $2, $3) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false);
+ return this.invoke($0, $1, $2, $3, false);
};
TypeMember.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic));
+ return this.invoke($0, $1, $2, $3, isDynamic);
};
TypeMember.prototype.invoke$5 = function($0, $1, $2, $3, $4) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4));
+ return this.invoke($0, $1, $2, $3, $4);
};
TypeMember.prototype.resolve$1 = function($0) {
- return this.resolve(($0 && $0.is$lang_Type()));
+ return this.resolve($0);
};
// ********** Code for FieldMember **************
function FieldMember(name, declaringType, definition, value) {
@@ -14406,18 +13965,15 @@ function FieldMember(name, declaringType, definition, value) {
// Initializers done
}
$inherits(FieldMember, Member);
-FieldMember.prototype.is$FieldMember = function(){return this;};
FieldMember.prototype.get$definition = function() { return this.definition; };
FieldMember.prototype.get$value = function() { return this.value; };
-FieldMember.prototype.get$type = function() { return this.type; };
-FieldMember.prototype.set$type = function(value) { return this.type = value; };
FieldMember.prototype.get$isStatic = function() { return this.isStatic; };
FieldMember.prototype.set$isStatic = function(value) { return this.isStatic = value; };
FieldMember.prototype.get$isNative = function() { return this.isNative; };
FieldMember.prototype.set$isNative = function(value) { return this.isNative = value; };
FieldMember.prototype.override = function(other) {
- if (!$notnull_bool(Member.prototype.override.call(this, other))) return false;
- if ($notnull_bool(other.get$isProperty())) {
+ if (!Member.prototype.override.call(this, other)) return false;
+ if (other.get$isProperty()) {
return true;
}
else {
@@ -14438,8 +13994,7 @@ FieldMember.prototype.providePropertySyntax = function() {
this._providePropertySyntax = true;
}
FieldMember.prototype.get$span = function() {
- var $0;
- return (($0 = this.definition == null ? null : this.definition.span) && $0.is$SourceSpan());
+ return this.definition == null ? null : this.definition.span;
}
FieldMember.prototype.get$returnType = function() {
return this.type;
@@ -14448,7 +14003,7 @@ FieldMember.prototype.get$canGet = function() {
return true;
}
FieldMember.prototype.get$canSet = function() {
- return !$notnull_bool(this.isFinal);
+ return !this.isFinal;
}
FieldMember.prototype.get$isField = function() {
return true;
@@ -14460,14 +14015,14 @@ FieldMember.prototype.resolve = function(inType) {
var $list = this.definition.modifiers;
for (var $i = 0;$i < $list.length; $i++) {
var mod = $list.$index($i);
- if ($notnull_bool($eq(mod.kind, 86/*TokenKind.STATIC*/))) {
- if ($notnull_bool(this.isStatic)) {
+ if ($eq(mod.kind, 86/*TokenKind.STATIC*/)) {
+ if (this.isStatic) {
world.error('duplicate static modifier', mod.get$span());
}
this.isStatic = true;
}
- else if ($notnull_bool($eq(mod.kind, 97/*TokenKind.FINAL*/))) {
- if ($notnull_bool(this.isFinal)) {
+ else if ($eq(mod.kind, 97/*TokenKind.FINAL*/)) {
+ if (this.isFinal) {
world.error('duplicate final modifier', mod.get$span());
}
this.isFinal = true;
@@ -14478,19 +14033,18 @@ FieldMember.prototype.resolve = function(inType) {
}
}
this.type = inType.resolveType(this.definition.type, false);
- if ($notnull_bool(this.isStatic) && $notnull_bool(this.type.get$hasTypeParams())) {
+ if (this.isStatic && this.type.get$hasTypeParams()) {
world.error('using type parameter in static context', this.definition.type.span);
}
- if ($notnull_bool(this.isStatic) && $notnull_bool(this.isFinal) && this.value == null) {
+ if (this.isStatic && this.isFinal && this.value == null) {
world.error('static final field is missing initializer', this.get$span());
}
this.get$library()._addMember(this);
}
FieldMember.prototype.computeValue = function() {
- var $0;
if (this.value == null) return null;
if (this._computedValue == null) {
- if ($notnull_bool(this._computing)) {
+ if (this._computing) {
world.error('circular reference', this.value.span);
return null;
}
@@ -14498,16 +14052,16 @@ FieldMember.prototype.computeValue = function() {
var finalMethod = new MethodMember('final_context', this.declaringType, null);
finalMethod.isStatic = true;
var finalGen = new MethodGenerator(finalMethod, null);
- this._computedValue = (($0 = this.value.visit((finalGen && finalGen.is$TreeVisitor()))) && $0.is$Value());
- if (!$notnull_bool(this._computedValue.get$isConst())) {
- if ($notnull_bool(this.isStatic)) {
+ this._computedValue = this.value.visit(finalGen);
+ if (!this._computedValue.get$isConst()) {
+ if (this.isStatic) {
world.error('non constant static field must be initialized in functions', this.value.span);
}
else {
world.error('non constant field must be initialized in constructor', this.value.span);
}
}
- if ($notnull_bool(this.isStatic)) {
+ if (this.isStatic) {
this._computedValue = world.gen.globalForStaticField(this, this._computedValue, [this._computedValue]);
}
this._computing = false;
@@ -14515,28 +14069,27 @@ FieldMember.prototype.computeValue = function() {
return this._computedValue;
}
FieldMember.prototype._get = function(context, node, target, isDynamic) {
- var $0;
- if (!$notnull_bool(isDynamic)) {
+ if (!isDynamic) {
this.declaringType.markUsed();
}
- if ($notnull_bool(this.isStatic)) {
+ if (this.isStatic) {
var cv = this.computeValue();
- if ($notnull_bool(this.isFinal)) {
- return (cv && cv.is$Value());
+ if (this.isFinal) {
+ return cv;
}
- if ($notnull_bool(this.declaringType.get$isTop())) {
+ if (this.declaringType.get$isTop()) {
return new Value(this.type, ('' + this.get$jsname() + ''), node.span, true);
}
else {
return new Value(this.type, ('' + this.declaringType.get$jsname() + '.' + this.get$jsname() + ''), node.span, true);
}
}
- else if ($notnull_bool(target.get$isConst()) && $notnull_bool(this.isFinal)) {
+ else if (target.get$isConst() && this.isFinal) {
var constTarget = (target instanceof GlobalValue) ? target.get$dynamic().exp : target;
if ((constTarget instanceof ConstObjectValue)) {
- return (($0 = constTarget.fields.$index(this.name)) && $0.is$Value());
+ return constTarget.fields.$index(this.name);
}
- else if ($notnull_bool($eq(constTarget.type, world.stringType)) && this.name == 'length') {
+ else if ($eq(constTarget.type, world.stringType) && this.name == 'length') {
return new Value(this.type, ('' + constTarget.get$actualValue().length + ''), node.span, true);
}
}
@@ -14548,10 +14101,10 @@ FieldMember.prototype._set = function(context, node, target, value, isDynamic) {
return new Value(this.type, ('' + lhs.code + ' = ' + value.code + ''), node.span, true);
}
FieldMember.prototype._get$3 = function($0, $1, $2) {
- return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), false);
+ return this._get($0, $1, $2, false);
};
FieldMember.prototype._set$4 = function($0, $1, $2, $3) {
- return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Value()), false);
+ return this._set($0, $1, $2, $3, false);
};
FieldMember.prototype.computeValue$0 = function() {
return this.computeValue();
@@ -14563,7 +14116,7 @@ FieldMember.prototype.providePropertySyntax$0 = function() {
return this.providePropertySyntax();
};
FieldMember.prototype.resolve$1 = function($0) {
- return this.resolve(($0 && $0.is$lang_Type()));
+ return this.resolve($0);
};
// ********** Code for PropertyMember **************
function PropertyMember(name, declaringType) {
@@ -14572,10 +14125,8 @@ function PropertyMember(name, declaringType) {
// Initializers done
}
$inherits(PropertyMember, Member);
-PropertyMember.prototype.is$PropertyMember = function(){return this;};
PropertyMember.prototype.get$span = function() {
- var $0;
- return (($0 = this.getter != null ? this.getter.get$span() : null) && $0.is$SourceSpan());
+ return this.getter != null ? this.getter.get$span() : null;
}
PropertyMember.prototype.get$canGet = function() {
return this.getter != null;
@@ -14605,9 +14156,9 @@ PropertyMember.prototype.get$returnType = function() {
return this.getter == null ? this.setter.returnType : this.getter.returnType;
}
PropertyMember.prototype.override = function(other) {
- if (!$notnull_bool(Member.prototype.override.call(this, other))) return false;
- if ($notnull_bool(other.get$isProperty()) || $notnull_bool(other.get$isField())) {
- if ($notnull_bool(other.get$isProperty())) this.addFromParent(other);
+ if (!Member.prototype.override.call(this, other)) return false;
+ if (other.get$isProperty() || other.get$isField()) {
+ if (other.get$isProperty()) this.addFromParent(other);
else this._overriddenField = other;
return true;
}
@@ -14635,14 +14186,13 @@ PropertyMember.prototype._set = function(context, node, target, value, isDynamic
return this.setter.invoke(context, node, target, new Arguments(null, [value]), isDynamic);
}
PropertyMember.prototype.addFromParent = function(parentMember) {
- var $0;
var parent;
if ((parentMember instanceof ConcreteMember)) {
- var c = (parentMember && parentMember.is$ConcreteMember());
- parent = (($0 = c.baseMember) && $0.is$PropertyMember());
+ var c = parentMember;
+ parent = c.baseMember;
}
else {
- parent = (parentMember && parentMember.is$PropertyMember());
+ parent = parentMember;
}
if (this.getter == null) this.getter = parent.getter;
if (this.setter == null) this.setter = parent.setter;
@@ -14653,10 +14203,10 @@ PropertyMember.prototype.resolve = function(inType) {
this.get$library()._addMember(this);
}
PropertyMember.prototype._get$3 = function($0, $1, $2) {
- return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), false);
+ return this._get($0, $1, $2, false);
};
PropertyMember.prototype._set$4 = function($0, $1, $2, $3) {
- return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Value()), false);
+ return this._set($0, $1, $2, $3, false);
};
PropertyMember.prototype.provideFieldSyntax$0 = function() {
return this.provideFieldSyntax();
@@ -14665,7 +14215,7 @@ PropertyMember.prototype.providePropertySyntax$0 = function() {
return this.providePropertySyntax();
};
PropertyMember.prototype.resolve$1 = function($0) {
- return this.resolve(($0 && $0.is$lang_Type()));
+ return this.resolve($0);
};
// ********** Code for ConcreteMember **************
function ConcreteMember(name, declaringType, baseMember) {
@@ -14678,7 +14228,7 @@ function ConcreteMember(name, declaringType, baseMember) {
for (var $i = 0;$i < $list.length; $i++) {
var p = $list.$index($i);
var newType = p.type.resolveTypeParams$1(declaringType);
- if ($notnull_bool($ne(newType, p.type))) {
+ if ($ne(newType, p.type)) {
this.parameters.add(p.copyWithNewType$1(newType));
}
else {
@@ -14687,7 +14237,6 @@ function ConcreteMember(name, declaringType, baseMember) {
}
}
$inherits(ConcreteMember, Member);
-ConcreteMember.prototype.is$ConcreteMember = function(){return this;};
ConcreteMember.prototype.get$returnType = function() { return this.returnType; };
ConcreteMember.prototype.set$returnType = function(value) { return this.returnType = value; };
ConcreteMember.prototype.get$parameters = function() { return this.parameters; };
@@ -14750,20 +14299,17 @@ ConcreteMember.prototype.get$constructorName = function() {
return this.baseMember.get$constructorName();
}
ConcreteMember.prototype.get$definition = function() {
- var $0;
- return (($0 = this.baseMember.get$definition()) && $0.is$Definition());
+ return this.baseMember.get$definition();
}
ConcreteMember.prototype.get$initDelegate = function() {
- var $0;
- return (($0 = this.baseMember.get$initDelegate()) && $0.is$Definition());
+ return this.baseMember.get$initDelegate();
}
ConcreteMember.prototype.set$initDelegate = function(ctor) {
this.baseMember.set$initDelegate(ctor);
}
ConcreteMember.prototype.resolveType = function(node, isRequired) {
- var $0;
var type = this.baseMember.resolveType(node, isRequired);
- return (($0 = type.resolveTypeParams$1(this.declaringType)) && $0.is$lang_Type());
+ return type.resolveTypeParams$1(this.declaringType);
}
ConcreteMember.prototype.override = function(other) {
return this.baseMember.override(other);
@@ -14779,29 +14325,29 @@ ConcreteMember.prototype._set = function(context, node, target, value, isDynamic
ConcreteMember.prototype.invoke = function(context, node, target, args, isDynamic) {
var ret = this.baseMember.invoke(context, node, target, args, isDynamic);
var code = ret.code;
- if ($notnull_bool(this.get$isConstructor())) {
+ if (this.get$isConstructor()) {
code = code.replaceFirst$2(this.declaringType.get$genericType().get$jsname(), this.declaringType.get$jsname());
}
this.declaringType.genMethod(this);
return new Value(this.get$inferredResult(), code, node.span, true);
}
ConcreteMember.prototype._get$3 = function($0, $1, $2) {
- return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), false);
+ return this._get($0, $1, $2, false);
};
ConcreteMember.prototype._set$4 = function($0, $1, $2, $3) {
- return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Value()), false);
+ return this._set($0, $1, $2, $3, false);
};
ConcreteMember.prototype.canInvoke$2 = function($0, $1) {
- return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments()));
+ return this.canInvoke($0, $1);
};
ConcreteMember.prototype.invoke$4 = function($0, $1, $2, $3) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false);
+ return this.invoke($0, $1, $2, $3, false);
};
ConcreteMember.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic));
+ return this.invoke($0, $1, $2, $3, isDynamic);
};
ConcreteMember.prototype.invoke$5 = function($0, $1, $2, $3, $4) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4));
+ return this.invoke($0, $1, $2, $3, $4);
};
ConcreteMember.prototype.provideFieldSyntax$0 = function() {
return this.provideFieldSyntax();
@@ -14824,7 +14370,6 @@ function MethodMember(name, declaringType, definition) {
// Initializers done
}
$inherits(MethodMember, Member);
-MethodMember.prototype.is$MethodMember = function(){return this;};
MethodMember.prototype.get$definition = function() { return this.definition; };
MethodMember.prototype.set$definition = function(value) { return this.definition = value; };
MethodMember.prototype.get$returnType = function() { return this.returnType; };
@@ -14845,7 +14390,7 @@ MethodMember.prototype.get$isConstructor = function() {
return this.name == this.declaringType.name;
}
MethodMember.prototype.get$isMethod = function() {
- return !$notnull_bool(this.get$isConstructor());
+ return !this.get$isConstructor();
}
MethodMember.prototype.get$isNative = function() {
return (this.definition.body instanceof NativeStatement);
@@ -14857,15 +14402,13 @@ MethodMember.prototype.get$canSet = function() {
return false;
}
MethodMember.prototype.get$span = function() {
- var $0;
- return (($0 = this.definition == null ? null : this.definition.span) && $0.is$SourceSpan());
+ return this.definition == null ? null : this.definition.span;
}
MethodMember.prototype.get$constructorName = function() {
- var $0;
- var returnType = (($0 = this.definition.returnType) && $0.is$NameTypeReference());
+ var returnType = this.definition.returnType;
if (returnType == null) return '';
if (returnType.names != null) {
- return $assert_String(returnType.names.$index(0).get$name());
+ return returnType.names.$index(0).get$name();
}
else if (returnType.name != null) {
return returnType.name.name;
@@ -14882,8 +14425,8 @@ MethodMember.prototype.get$functionType = function() {
return this._functionType;
}
MethodMember.prototype.override = function(other) {
- if (!$notnull_bool(Member.prototype.override.call(this, other))) return false;
- if ($notnull_bool(other.get$isMethod())) {
+ if (!Member.prototype.override.call(this, other)) return false;
+ if (other.get$isMethod()) {
return true;
}
else {
@@ -14898,7 +14441,7 @@ MethodMember.prototype.canInvoke = function(context, args) {
if (bareCount != args.get$length()) return false;
}
else {
- if (!$notnull_bool(this.parameters.$index(bareCount).get$isOptional())) return false;
+ if (!this.parameters.$index(bareCount).get$isOptional()) return false;
for (var i = bareCount;
i < args.get$length(); i++) {
if (this.indexOfParameter(args.getName(i)) < 0) {
@@ -14912,7 +14455,7 @@ MethodMember.prototype.indexOfParameter = function(name) {
for (var i = 0;
i < this.parameters.length; i++) {
var p = this.parameters.$index(i);
- if ($notnull_bool(p.get$isOptional()) && $notnull_bool($eq(p.get$name(), name))) {
+ if (p.get$isOptional() && $eq(p.get$name(), name)) {
return i;
}
}
@@ -14936,24 +14479,24 @@ MethodMember.prototype._set = function(context, Node, target, value, isDynamic)
MethodMember.prototype._get = function(context, node, target, isDynamic) {
this.declaringType.genMethod(this);
this._provideOptionalParamInfo = true;
- if ($notnull_bool(this.isStatic)) {
- var type = $notnull_bool(this.declaringType.get$isTop()) ? '' : ('' + this.declaringType.get$jsname() + '.');
+ if (this.isStatic) {
+ var type = this.declaringType.get$isTop() ? '' : ('' + this.declaringType.get$jsname() + '.');
return new Value(this.get$functionType(), ('' + type + '' + this.get$jsname() + ''), node.span, true);
}
this._providePropertySyntax = true;
return new Value(this.get$functionType(), ('' + target.code + '.get\$' + this.get$jsname() + '()'), node.span, true);
}
MethodMember.prototype.namesInOrder = function(args) {
- if (!$notnull_bool(args.get$hasNames())) return true;
+ if (!args.get$hasNames()) return true;
var lastParameter = null;
for (var i = args.get$bareCount();
i < this.parameters.length; i++) {
- var p = args.getIndexOfName($assert_String(this.parameters.$index(i).get$name()));
- if (p >= 0 && $notnull_bool(args.values.$index(p).needsTemp)) {
- if (lastParameter != null && lastParameter > $assert_num(p)) {
+ var p = args.getIndexOfName(this.parameters.$index(i).get$name());
+ if (p >= 0 && args.values.$index(p).needsTemp) {
+ if (lastParameter != null && lastParameter > p) {
return false;
}
- lastParameter = $assert_num(p);
+ lastParameter = p;
}
}
return true;
@@ -14963,7 +14506,7 @@ MethodMember.prototype.needsArgumentConversion = function(args) {
for (var i = 0;
i < bareCount; i++) {
var arg = args.values.$index(i);
- if ($notnull_bool(arg.needsConversion$1(this.parameters.$index(i).type))) {
+ if (arg.needsConversion$1(this.parameters.$index(i).type)) {
return false;
}
}
@@ -14971,8 +14514,8 @@ MethodMember.prototype.needsArgumentConversion = function(args) {
this.genParameterValues();
for (var i = bareCount;
i < this.parameters.length; i++) {
- var arg = args.getValue($assert_String(this.parameters.$index(i).get$name()));
- if ($notnull_bool($ne(arg, null)) && $notnull_bool(arg.needsConversion$1(this.parameters.$index(i).type))) {
+ var arg = args.getValue(this.parameters.$index(i).get$name());
+ if ($ne(arg, null) && arg.needsConversion$1(this.parameters.$index(i).type)) {
return false;
}
}
@@ -14980,10 +14523,10 @@ MethodMember.prototype.needsArgumentConversion = function(args) {
return true;
}
MethodMember._argCountMsg = function(actual, expected, atLeast) {
- return 'wrong number of arguments, expected ' + ('' + ($notnull_bool(atLeast) ? "at least " : "") + '' + expected + ' but found ' + actual + '');
+ return 'wrong number of arguments, expected ' + ('' + (atLeast ? "at least " : "") + '' + expected + ' but found ' + actual + '');
}
MethodMember.prototype._argError = function(context, node, target, args, msg) {
- if ($notnull_bool(this.isStatic) || $notnull_bool(this.get$isConstructor())) {
+ if (this.isStatic || this.get$isConstructor()) {
world.error(msg, node.span);
}
else {
@@ -15004,15 +14547,15 @@ MethodMember.prototype.invoke = function(context, node, target, args, isDynamic)
this.resolve(this.declaringType);
}
this.declaringType.genMethod(this);
- if ($notnull_bool(this.isStatic) || $notnull_bool(this.isFactory)) {
+ if (this.isStatic || this.isFactory) {
this.declaringType.markUsed();
}
- if ($notnull_bool(this.get$isNative()) && this.returnType != null) this.returnType.markUsed();
- if (!$notnull_bool(this.namesInOrder(args))) {
+ if (this.get$isNative() && this.returnType != null) this.returnType.markUsed();
+ if (!this.namesInOrder(args)) {
return context.findMembers(this.name).invokeOnVar(context, node, target, args);
}
var argsCode = [];
- if (target != null && ($notnull_bool(this.get$isConstructor()) || $notnull_bool(target.isSuper))) {
+ if (target != null && (this.get$isConstructor() || target.isSuper)) {
argsCode.add$1('this');
}
var bareCount = args.get$bareCount();
@@ -15021,10 +14564,10 @@ MethodMember.prototype.invoke = function(context, node, target, args, isDynamic)
var arg = args.values.$index(i);
if (i >= this.parameters.length) {
var msg = MethodMember._argCountMsg(args.get$length(), this.parameters.length, false);
- return this._argError(context, node, target, args, $assert_String(msg));
+ return this._argError(context, node, target, args, msg);
}
arg = arg.convertTo$4(context, this.parameters.$index(i).type, node, isDynamic);
- if ($notnull_bool(this.isConst) && $notnull_bool(arg.get$isConst())) {
+ if (this.isConst && arg.get$isConst()) {
argsCode.add$1(arg.get$canonicalCode());
}
else {
@@ -15036,20 +14579,20 @@ MethodMember.prototype.invoke = function(context, node, target, args, isDynamic)
var namedArgsUsed = 0;
for (var i = bareCount;
i < this.parameters.length; i++) {
- var arg = args.getValue($assert_String(this.parameters.$index(i).get$name()));
- if ($notnull_bool(arg == null)) {
+ var arg = args.getValue(this.parameters.$index(i).get$name());
+ if (arg == null) {
arg = this.parameters.$index(i).get$value();
}
else {
arg = arg.convertTo$4(context, this.parameters.$index(i).type, node, isDynamic);
namedArgsUsed++;
}
- if ($notnull_bool(arg == null) || !$notnull_bool(this.parameters.$index(i).get$isOptional())) {
+ if (arg == null || !this.parameters.$index(i).get$isOptional()) {
var msg = MethodMember._argCountMsg(Math.min(i, args.get$length()), i + 1, true);
- return this._argError(context, node, target, args, $assert_String(msg));
+ return this._argError(context, node, target, args, msg);
}
else {
- argsCode.add$1($notnull_bool(this.isConst) && $notnull_bool(arg.get$isConst()) ? arg.get$canonicalCode() : arg.code);
+ argsCode.add$1(this.isConst && arg.get$isConst() ? arg.get$canonicalCode() : arg.code);
}
}
if (namedArgsUsed < args.get$nameCount()) {
@@ -15057,11 +14600,11 @@ MethodMember.prototype.invoke = function(context, node, target, args, isDynamic)
for (var i = bareCount;
i < args.get$length(); i++) {
var name = args.getName(i);
- if ($notnull_bool(seen.contains$1(name))) {
+ if (seen.contains$1(name)) {
return this._argError(context, node, target, args, ('duplicate argument "' + name + '"'));
}
seen.add$1(name);
- var p = this.indexOfParameter($assert_String(name));
+ var p = this.indexOfParameter(name);
if (p < 0) {
return this._argError(context, node, target, args, ('method does not have optional parameter "' + name + '"'));
}
@@ -15071,29 +14614,29 @@ MethodMember.prototype.invoke = function(context, node, target, args, isDynamic)
}
world.internalError(('wrong named arguments calling ' + this.name + ''), node.span);
}
- Arguments.removeTrailingNulls((argsCode && argsCode.is$List$Value()));
+ Arguments.removeTrailingNulls(argsCode);
}
- var argsString = Strings.join((argsCode && argsCode.is$List$String()), ', ');
- if ($notnull_bool(this.get$isConstructor())) {
+ var argsString = Strings.join(argsCode, ', ');
+ if (this.get$isConstructor()) {
return this._invokeConstructor(context, node, target, args, argsString);
}
- if (target != null && $notnull_bool(target.isSuper)) {
+ if (target != null && target.isSuper) {
return new Value(this.get$inferredResult(), ('' + this.declaringType.get$jsname() + '.prototype.' + this.get$jsname() + '.call(' + argsString + ')'), node.span, true);
}
- if ($notnull_bool(this.get$isOperator())) {
+ if (this.get$isOperator()) {
return this._invokeBuiltin(context, node, target, args, argsCode, isDynamic);
}
- if ($notnull_bool(this.isFactory)) {
+ if (this.isFactory) {
return new Value(this.get$inferredResult(), ('' + this.get$generatedFactoryName() + '(' + argsString + ')'), node.span, true);
}
- if ($notnull_bool(this.isStatic)) {
- if ($notnull_bool(this.declaringType.get$isTop())) {
+ if (this.isStatic) {
+ if (this.declaringType.get$isTop()) {
return new Value(this.get$inferredResult(), ('' + this.get$jsname() + '(' + argsString + ')'), node != null ? node.span : node, true);
}
return new Value(this.get$inferredResult(), ('' + this.declaringType.get$jsname() + '.' + this.get$jsname() + '(' + argsString + ')'), node.span, true);
}
var code = ('' + target.code + '.' + this.get$jsname() + '(' + argsString + ')');
- if ($notnull_bool(target.get$isConst())) {
+ if (target.get$isConst()) {
if ((target instanceof GlobalValue)) {
target = target.get$dynamic().exp;
}
@@ -15121,8 +14664,8 @@ MethodMember.prototype._invokeConstructor = function(context, node, target, args
}
else {
var code = (this.get$constructorName() != '') ? ('new ' + this.declaringType.get$jsname() + '.' + this.get$constructorName() + '\$ctor(' + argsString + ')') : ('new ' + this.declaringType.get$jsname() + '(' + argsString + ')');
- if ($notnull_bool(this.isConst) && (node instanceof lang_NewExpression) && $notnull_bool(node.get$dynamic().get$isConst())) {
- return this._invokeConstConstructor(node, $assert_String(code), target, args);
+ if (this.isConst && (node instanceof lang_NewExpression) && node.get$dynamic().get$isConst()) {
+ return this._invokeConstConstructor(node, code, target, args);
}
else {
return new Value(this.declaringType, code, node.span, true);
@@ -15130,19 +14673,18 @@ MethodMember.prototype._invokeConstructor = function(context, node, target, args
}
}
MethodMember.prototype._invokeConstConstructor = function(node, code, target, args) {
- var $0;
var fields = new HashMapImplementation();
for (var i = 0;
i < this.parameters.length; i++) {
var param = this.parameters.$index(i);
- if ($notnull_bool(param.isInitializer)) {
+ if (param.isInitializer) {
var value = null;
if (i < args.get$length()) {
value = args.values.$index(i);
}
else {
- value = args.getValue($assert_String(param.get$name()));
- if ($notnull_bool(value == null)) {
+ value = args.getValue(param.get$name());
+ if (value == null) {
value = param.get$value();
}
}
@@ -15159,8 +14701,8 @@ MethodMember.prototype._invokeConstConstructor = function(node, code, target, ar
value = args.values.$index(j);
}
else {
- value = args.getValue($assert_String(this.parameters.$index(j).get$name()));
- if ($notnull_bool(value == null)) {
+ value = args.getValue(this.parameters.$index(j).get$name());
+ if (value == null) {
value = this.parameters.$index(j).get$value();
}
}
@@ -15170,10 +14712,10 @@ MethodMember.prototype._invokeConstConstructor = function(node, code, target, ar
for (var $i = 0;$i < $list.length; $i++) {
var init = $list.$index($i);
if ((init instanceof CallExpression)) {
- var delegateArgs = this.generator._makeArgs((($0 = init.get$arguments()) && $0.is$List$ArgumentNode()));
- var value = this.initDelegate.invoke(this.generator, node, target, (delegateArgs && delegateArgs.is$Arguments()), false);
+ var delegateArgs = this.generator._makeArgs(init.get$arguments());
+ var value = this.initDelegate.invoke(this.generator, node, target, delegateArgs, false);
if ((init.target instanceof ThisExpression)) {
- return (value && value.is$Value());
+ return value;
}
else {
if ((value instanceof GlobalValue)) {
@@ -15187,8 +14729,8 @@ MethodMember.prototype._invokeConstConstructor = function(node, code, target, ar
}
}
else {
- var assign = (init && init.is$BinaryExpression());
- var x = (($0 = assign.x) && $0.is$VarExpression());
+ var assign = init;
+ var x = assign.x;
var fname = x.name.name;
var val = this.generator.visitValue(assign.y);
fields.$setindex(fname, val);
@@ -15199,19 +14741,19 @@ MethodMember.prototype._invokeConstConstructor = function(node, code, target, ar
var $list = this.declaringType.get$members().getValues();
for (var $i = this.declaringType.get$members().getValues().iterator$0(); $i.hasNext$0(); ) {
var f = $i.next$0();
- if ((f instanceof FieldMember) && !$notnull_bool(f.get$isStatic()) && $notnull_bool($ne(f.get$value(), null)) && !fields.containsKey(f.get$name())) {
+ if ((f instanceof FieldMember) && !f.get$isStatic() && $ne(f.get$value(), null) && !fields.containsKey(f.get$name())) {
fields.$setindex(f.get$name(), f.computeValue$0());
}
}
return world.gen.globalForConst(ConstObjectValue.ConstObjectValue$factory(this.declaringType, fields, code, node.span), args.values);
}
MethodMember.prototype._invokeBuiltin = function(context, node, target, args, argsCode, isDynamic) {
- var allConst = $notnull_bool(target.get$isConst()) && args.values.every((function (arg) {
+ var allConst = target.get$isConst() && args.values.every((function (arg) {
return arg.get$isConst();
})
);
- if ($notnull_bool(this.declaringType.get$isNum())) {
- if (!$notnull_bool(allConst)) {
+ if (this.declaringType.get$isNum()) {
+ if (!allConst) {
var code;
if (this.name == '\$negate') {
code = ('-' + target.code + '');
@@ -15232,10 +14774,10 @@ MethodMember.prototype._invokeBuiltin = function(context, node, target, args, ar
else {
var value;
var val0, val1, ival0, ival1;
- val0 = $assert_num(target.get$dynamic().get$actualValue());
+ val0 = target.get$dynamic().get$actualValue();
ival0 = val0.toInt();
if (args.values.length > 0) {
- val1 = $assert_num(args.values.$index(0).get$dynamic().get$actualValue());
+ val1 = args.values.$index(0).get$dynamic().get$actualValue();
ival1 = val1.toInt();
}
switch (this.name) {
@@ -15343,27 +14885,27 @@ MethodMember.prototype._invokeBuiltin = function(context, node, target, args, ar
return EvaluatedValue.EvaluatedValue$factory(this.get$inferredResult(), value, ("" + value + ""), node.span);
}
}
- else if ($notnull_bool(this.declaringType.get$isString())) {
+ else if (this.declaringType.get$isString()) {
if (this.name == '\$index') {
return new Value(this.declaringType, ('' + target.code + '[' + argsCode.$index(0) + ']'), node.span, true);
}
else if (this.name == '\$add') {
- if ($notnull_bool(allConst)) {
+ if (allConst) {
var val0 = target.get$dynamic().get$actualValue();
val0 = val0.substring$2(1, val0.length - 1);
var val1 = args.values.$index(0).get$dynamic().get$actualValue();
- if ($notnull_bool(args.values.$index(0).type.get$isString())) {
+ if (args.values.$index(0).type.get$isString()) {
val1 = val1.substring$2(1, val1.length - 1);
}
var value = ('' + val0 + '' + val1 + '');
value = '"' + value.replaceAll$2('"', '\\"') + '"';
- return EvaluatedValue.EvaluatedValue$factory(world.stringType, value, $assert_String(value), node.span);
+ return EvaluatedValue.EvaluatedValue$factory(world.stringType, value, value, node.span);
}
args.values.$index(0).invoke$4(context, 'toString', node, Arguments.get$EMPTY());
return new Value(this.declaringType, ('' + target.code + ' + ' + argsCode.$index(0) + ''), node.span, true);
}
}
- else if ($notnull_bool(this.declaringType.get$isNativeType())) {
+ else if (this.declaringType.get$isNativeType()) {
if (this.name == '\$index') {
return new Value(this.returnType, ('' + target.code + '[' + argsCode.$index(0) + ']'), node.span, true);
}
@@ -15376,24 +14918,24 @@ MethodMember.prototype._invokeBuiltin = function(context, node, target, args, ar
if (this.name == '\$ne') {
target.invoke(context, '\$eq', node, args, isDynamic);
}
- if ($notnull_bool(allConst)) {
+ if (allConst) {
var val0 = target.get$dynamic().get$actualValue();
var val1 = args.values.$index(0).get$dynamic().get$actualValue();
var newVal = this.name == '\$eq' ? $eq(val0, val1) : $ne(val0, val1);
return EvaluatedValue.EvaluatedValue$factory(world.nonNullBool, newVal, ("" + newVal + ""), node.span);
}
- if ($notnull_bool($eq(argsCode.$index(0), 'null'))) {
+ if ($eq(argsCode.$index(0), 'null')) {
return new Value(this.get$inferredResult(), ('' + target.code + ' ' + op + ' null'), node.span, true);
}
- else if ($notnull_bool(target.type.get$isNum()) || $notnull_bool(target.type.get$isString())) {
+ else if (target.type.get$isNum() || target.type.get$isString()) {
return new Value(this.get$inferredResult(), ('' + target.code + ' ' + op + ' ' + argsCode.$index(0) + ''), node.span, true);
}
world.gen.corejs.useOperator(this.name);
return new Value(this.get$inferredResult(), ('' + this.name + '(' + target.code + ', ' + argsCode.$index(0) + ')'), node.span, true);
}
- if ($notnull_bool(this.get$isCallMethod())) {
+ if (this.get$isCallMethod()) {
this.declaringType.markUsed();
- return new Value(this.get$inferredResult(), ('' + target.code + '(' + Strings.join((argsCode && argsCode.is$List$String()), ", ") + ')'), node.span, true);
+ return new Value(this.get$inferredResult(), ('' + target.code + '(' + Strings.join(argsCode, ", ") + ')'), node.span, true);
}
if (this.name == '\$index') {
world.gen.corejs.useIndex = true;
@@ -15401,39 +14943,39 @@ MethodMember.prototype._invokeBuiltin = function(context, node, target, args, ar
else if (this.name == '\$setindex') {
world.gen.corejs.useSetIndex = true;
}
- var argsString = Strings.join((argsCode && argsCode.is$List$String()), ', ');
+ var argsString = Strings.join(argsCode, ', ');
return new Value(this.get$inferredResult(), ('' + target.code + '.' + this.get$jsname() + '(' + argsString + ')'), node.span, true);
}
MethodMember.prototype.resolve = function(inType) {
this.isStatic = inType.get$isTop();
this.isConst = false;
this.isFactory = false;
- this.isAbstract = !$notnull_bool(this.declaringType.get$isClass());
+ this.isAbstract = !this.declaringType.get$isClass();
if (this.definition.modifiers != null) {
var $list = this.definition.modifiers;
for (var $i = 0;$i < $list.length; $i++) {
var mod = $list.$index($i);
- if ($notnull_bool($eq(mod.kind, 86/*TokenKind.STATIC*/))) {
- if ($notnull_bool(this.isStatic)) {
+ if ($eq(mod.kind, 86/*TokenKind.STATIC*/)) {
+ if (this.isStatic) {
world.error('duplicate static modifier', mod.get$span());
}
this.isStatic = true;
}
- else if ($notnull_bool(this.get$isConstructor()) && $notnull_bool($eq(mod.kind, 91/*TokenKind.CONST*/))) {
- if ($notnull_bool(this.isConst)) {
+ else if (this.get$isConstructor() && $eq(mod.kind, 91/*TokenKind.CONST*/)) {
+ if (this.isConst) {
world.error('duplicate const modifier', mod.get$span());
}
this.isConst = true;
}
- else if ($notnull_bool($eq(mod.kind, 75/*TokenKind.FACTORY*/))) {
- if ($notnull_bool(this.isFactory)) {
+ else if ($eq(mod.kind, 75/*TokenKind.FACTORY*/)) {
+ if (this.isFactory) {
world.error('duplicate factory modifier', mod.get$span());
}
this.isFactory = true;
}
- else if ($notnull_bool($eq(mod.kind, 71/*TokenKind.ABSTRACT*/))) {
- if ($notnull_bool(this.isAbstract)) {
- if ($notnull_bool(this.declaringType.get$isClass())) {
+ else if ($eq(mod.kind, 71/*TokenKind.ABSTRACT*/)) {
+ if (this.isAbstract) {
+ if (this.declaringType.get$isClass()) {
world.error('duplicate abstract modifier', mod.get$span());
}
else {
@@ -15447,31 +14989,31 @@ MethodMember.prototype.resolve = function(inType) {
}
}
}
- if ($notnull_bool(this.isFactory)) {
+ if (this.isFactory) {
this.isStatic = true;
}
- if ($notnull_bool(this.get$isOperator()) && $notnull_bool(this.isStatic) && !$notnull_bool(this.get$isCallMethod())) {
+ if (this.get$isOperator() && this.isStatic && !this.get$isCallMethod()) {
world.error(('operator method may not be static "' + this.name + '"'), this.get$span());
}
- if ($notnull_bool(this.isAbstract)) {
+ if (this.isAbstract) {
if (this.definition.body != null && !(this.declaringType.get$definition() instanceof FunctionTypeDefinition)) {
world.error('abstract method can not have a body', this.get$span());
}
- if ($notnull_bool(this.isStatic) && !(this.declaringType.get$definition() instanceof FunctionTypeDefinition)) {
+ if (this.isStatic && !(this.declaringType.get$definition() instanceof FunctionTypeDefinition)) {
world.error('static method can not be abstract', this.get$span());
}
}
else {
- if (this.definition.body == null && !$notnull_bool(this.get$isConstructor())) {
+ if (this.definition.body == null && !this.get$isConstructor()) {
world.error('method needs a body', this.get$span());
}
}
- if ($notnull_bool(this.get$isConstructor())) {
+ if (this.get$isConstructor()) {
this.returnType = this.declaringType;
}
else {
this.returnType = inType.resolveType(this.definition.returnType, false);
- if ($notnull_bool(this.isStatic) && $notnull_bool(this.returnType.get$hasTypeParams())) {
+ if (this.isStatic && this.returnType.get$hasTypeParams()) {
world.error('using type parameter in static context', this.definition.returnType.span);
}
}
@@ -15483,30 +15025,30 @@ MethodMember.prototype.resolve = function(inType) {
param.resolve$2(this, inType);
this.parameters.add(param);
}
- if (!$notnull_bool(this.isLambda)) {
+ if (!this.isLambda) {
this.get$library()._addMember(this);
}
}
MethodMember.prototype._get$3 = function($0, $1, $2) {
- return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), false);
+ return this._get($0, $1, $2, false);
};
MethodMember.prototype._set$4 = function($0, $1, $2, $3) {
- return this._set(($0 && $0.is$MethodGenerator()), $1, ($2 && $2.is$Value()), ($3 && $3.is$Value()), false);
+ return this._set($0, $1, $2, $3, false);
};
MethodMember.prototype.canInvoke$2 = function($0, $1) {
- return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments()));
+ return this.canInvoke($0, $1);
};
MethodMember.prototype.invoke$4 = function($0, $1, $2, $3) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false);
+ return this.invoke($0, $1, $2, $3, false);
};
MethodMember.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic));
+ return this.invoke($0, $1, $2, $3, isDynamic);
};
MethodMember.prototype.invoke$5 = function($0, $1, $2, $3, $4) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4));
+ return this.invoke($0, $1, $2, $3, $4);
};
MethodMember.prototype.namesInOrder$1 = function($0) {
- return this.namesInOrder(($0 && $0.is$Arguments()));
+ return this.namesInOrder($0);
};
MethodMember.prototype.provideFieldSyntax$0 = function() {
return this.provideFieldSyntax();
@@ -15515,7 +15057,7 @@ MethodMember.prototype.providePropertySyntax$0 = function() {
return this.providePropertySyntax();
};
MethodMember.prototype.resolve$1 = function($0) {
- return this.resolve(($0 && $0.is$lang_Type()));
+ return this.resolve($0);
};
// ********** Code for MemberSet **************
function MemberSet(member, isVar) {
@@ -15525,7 +15067,6 @@ function MemberSet(member, isVar) {
this.isVar = isVar;
// Initializers done
}
-MemberSet.prototype.is$MemberSet = function(){return this;};
MemberSet.prototype.get$name = function() { return this.name; };
MemberSet.prototype.get$members = function() { return this.members; };
MemberSet.prototype.get$jsname = function() { return this.jsname; };
@@ -15543,7 +15084,7 @@ MemberSet.prototype.add = function(member) {
return this.members.add(member);
}
MemberSet.prototype.get$isStatic = function() {
- return this.members.length == 1 && $notnull_bool(this.members.$index(0).get$isStatic());
+ return this.members.length == 1 && this.members.$index(0).get$isStatic();
}
MemberSet.prototype.get$isOperator = function() {
return this.members.$index(0).get$isOperator();
@@ -15555,7 +15096,7 @@ MemberSet.prototype.canInvoke = function(context, args) {
);
}
MemberSet.prototype._makeError = function(node, target, action) {
- if (!$notnull_bool(target.type.get$isVar())) {
+ if (!target.type.get$isVar()) {
world.warning(('could not find applicable ' + action + ' for "' + this.name + '"'), node.span);
}
return new Value(world.varType, ('' + target.code + '.' + this.jsname + '() /*no applicable ' + action + '*/'), node.span, true);
@@ -15566,18 +15107,18 @@ MemberSet.prototype.get$treatAsField = function() {
var $list = this.members;
for (var $i = 0;$i < $list.length; $i++) {
var member = $list.$index($i);
- if ($notnull_bool(member.get$requiresFieldSyntax())) {
+ if (member.get$requiresFieldSyntax()) {
this._treatAsField = true;
break;
}
- if ($notnull_bool(member.get$prefersPropertySyntax())) {
+ if (member.get$prefersPropertySyntax()) {
this._treatAsField = false;
}
}
var $list = this.members;
for (var $i = 0;$i < $list.length; $i++) {
var member = $list.$index($i);
- if ($notnull_bool(this._treatAsField)) {
+ if (this._treatAsField) {
member.provideFieldSyntax$0();
}
else {
@@ -15608,7 +15149,7 @@ MemberSet.prototype._get = function(context, node, target, isDynamic) {
return this._makeError(node, target, 'getter');
}
if (returnValue.code == null) {
- if ($notnull_bool(this.get$treatAsField())) {
+ if (this.get$treatAsField()) {
return new Value(returnValue.type, ('' + target.code + '.' + this.jsname + ''), node.span, true);
}
else {
@@ -15638,7 +15179,7 @@ MemberSet.prototype._set = function(context, node, target, value, isDynamic) {
return this._makeError(node, target, 'setter');
}
if (returnValue.code == null) {
- if ($notnull_bool(this.get$treatAsField())) {
+ if (this.get$treatAsField()) {
return new Value(returnValue.type, ('' + target.code + '.' + this.jsname + ' = ' + value.code + ''), node.span, true);
}
else {
@@ -15648,25 +15189,24 @@ MemberSet.prototype._set = function(context, node, target, value, isDynamic) {
return returnValue;
}
MemberSet.prototype.invoke = function(context, node, target, args, isDynamic) {
- var $0;
- if ($notnull_bool(this.isVar) && !$notnull_bool(this.get$isOperator())) {
+ if (this.isVar && !this.get$isOperator()) {
return this.invokeOnVar(context, node, target, args);
}
if (this.members.length == 1) {
- return (($0 = this.members.$index(0).invoke$5(context, node, target, args, isDynamic)) && $0.is$Value());
+ return this.members.$index(0).invoke$5(context, node, target, args, isDynamic);
}
var targets = this.members.filter((function (m) {
return m.canInvoke$2(context, args);
})
);
if (targets.length == 1) {
- return (($0 = targets.$index(0).invoke$5(context, node, target, args, isDynamic)) && $0.is$Value());
+ return targets.$index(0).invoke$5(context, node, target, args, isDynamic);
}
var returnValue = null;
for (var $i = targets.iterator$0(); $i.hasNext$0(); ) {
var member = $i.next$0();
var res = member.invoke$4$isDynamic(context, node, target, args, true);
- returnValue = this._tryUnion(returnValue, (res && res.is$Value()), node);
+ returnValue = this._tryUnion(returnValue, res, node);
}
if (returnValue == null) {
return this._makeError(node, target, 'method');
@@ -15675,7 +15215,7 @@ MemberSet.prototype.invoke = function(context, node, target, args, isDynamic) {
if (this.name == '\$call') {
return target._varCall(context, args);
}
- else if ($notnull_bool(this.get$isOperator())) {
+ else if (this.get$isOperator()) {
return target.invokeSpecial(this.name, args, returnValue.type);
}
else {
@@ -15692,18 +15232,18 @@ MemberSet.prototype._tryUnion = function(x, y, node) {
if (x == null) return y;
var type = lang_Type.union(x.type, y.type);
if (x.code == y.code) {
- if ($notnull_bool($eq(type, x.type))) {
+ if ($eq(type, x.type)) {
return x;
}
- else if ($notnull_bool(x.get$isConst()) || $notnull_bool(y.get$isConst())) {
+ else if (x.get$isConst() || y.get$isConst()) {
world.internalError("unexpected: union of const values ");
}
else {
var ret = new Value(type, x.code, node.span, true);
- ret.isSuper = $notnull_bool(x.isSuper) && $notnull_bool(y.isSuper);
- ret.needsTemp = $notnull_bool(x.needsTemp) || $notnull_bool(y.needsTemp);
- ret.isType = $notnull_bool(x.isType) && $notnull_bool(y.isType);
- return (ret && ret.is$Value());
+ ret.isSuper = x.isSuper && y.isSuper;
+ ret.needsTemp = x.needsTemp || y.needsTemp;
+ ret.isType = x.isType && y.isType;
+ return ret;
}
}
else {
@@ -15716,41 +15256,41 @@ MemberSet.prototype.getVarMember = function(context, node, args) {
}
var stubName = _getCallStubName(this.name, args);
var stub = world.objectType.varStubs.$index(stubName);
- if ($notnull_bool(stub == null)) {
+ if (stub == null) {
var mset = context.findMembers(this.name).members;
var targets = mset.filter((function (m) {
return m.canInvoke$2(context, args);
})
);
- var returnType = reduce(map((targets && targets.is$Iterable()), (function (t) {
+ var returnType = reduce(map(targets, (function (t) {
return t.get$returnType();
})
), lang_Type.union);
- stub = new VarMethodSet($assert_String(stubName), targets, args, returnType);
+ stub = new VarMethodSet(stubName, targets, args, returnType);
world.objectType.varStubs.$setindex(stubName, stub);
}
- return (stub && stub.is$VarMember());
+ return stub;
}
MemberSet.prototype._get$3 = function($0, $1, $2) {
- return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), false);
+ return this._get($0, $1, $2, false);
};
MemberSet.prototype._set$4 = function($0, $1, $2, $3) {
- return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Value()), false);
+ return this._set($0, $1, $2, $3, false);
};
MemberSet.prototype.add$1 = function($0) {
- return this.add(($0 && $0.is$Member()));
+ return this.add($0);
};
MemberSet.prototype.canInvoke$2 = function($0, $1) {
- return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments()));
+ return this.canInvoke($0, $1);
};
MemberSet.prototype.invoke$4 = function($0, $1, $2, $3) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false);
+ return this.invoke($0, $1, $2, $3, false);
};
MemberSet.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic));
+ return this.invoke($0, $1, $2, $3, isDynamic);
};
MemberSet.prototype.invoke$5 = function($0, $1, $2, $3, $4) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4));
+ return this.invoke($0, $1, $2, $3, $4);
};
MemberSet.prototype.toString$0 = function() {
return this.toString();
@@ -15762,18 +15302,17 @@ function FactoryMap() {
}
FactoryMap.prototype.getFactoriesFor = function(typeName) {
var ret = this.factories.$index(typeName);
- if ($notnull_bool(ret == null)) {
+ if (ret == null) {
ret = $map([]);
this.factories.$setindex(typeName, ret);
}
- return (ret && ret.is$Map$String$Member());
+ return ret;
}
FactoryMap.prototype.addFactory = function(typeName, name, member) {
this.getFactoriesFor(typeName).$setindex(name, member);
}
FactoryMap.prototype.getFactory = function(typeName, name) {
- var $0;
- return (($0 = this.getFactoriesFor(typeName).$index(name)) && $0.is$Member());
+ return this.getFactoriesFor(typeName).$index(name);
}
FactoryMap.prototype.forEach = function(f) {
this.factories.forEach((function (_, constructors) {
@@ -15785,7 +15324,7 @@ FactoryMap.prototype.forEach = function(f) {
);
}
FactoryMap.prototype.getFactory$2 = function($0, $1) {
- return this.getFactory($assert_String($0), $assert_String($1));
+ return this.getFactory($0, $1);
};
// ********** Code for lang_Token **************
function lang_Token(kind, source, start, end) {
@@ -15801,14 +15340,14 @@ lang_Token.prototype.get$text = function() {
lang_Token.prototype.toString = function() {
var kindText = TokenKind.kindToString(this.kind);
var actualText = this.get$text();
- if ($notnull_bool($ne(kindText, actualText))) {
+ if ($ne(kindText, actualText)) {
if (actualText.length > 10) {
actualText = actualText.substring$2(0, 8) + '...';
}
return ('' + kindText + '(' + actualText + ')');
}
else {
- return $assert_String(kindText);
+ return kindText;
}
}
lang_Token.prototype.get$span = function() {
@@ -15823,8 +15362,6 @@ function SourceFile(filename, _text) {
this._text = _text;
// Initializers done
}
-SourceFile.prototype.is$SourceFile = function(){return this;};
-SourceFile.prototype.is$Comparable = function(){return this;};
SourceFile.prototype.get$text = function() {
return this._text;
}
@@ -15833,12 +15370,12 @@ SourceFile.prototype.get$lineStarts = function() {
var starts = [0];
var index = 0;
while (index < this.get$text().length) {
- index = this.get$text().indexOf('\n', $assert_num(index)) + 1;
+ index = this.get$text().indexOf('\n', index) + 1;
if (index <= 0) break;
starts.add$1(index);
}
starts.add$1(this.get$text().length + 1);
- this._lineStarts = (starts && starts.is$List$int());
+ this._lineStarts = starts;
}
return this._lineStarts;
}
@@ -15851,27 +15388,27 @@ SourceFile.prototype.getLine = function(position) {
world.internalError('bad position');
}
SourceFile.prototype.getColumn = function(line, position) {
- return position - $assert_num(this.get$lineStarts().$index(line));
+ return position - this.get$lineStarts().$index(line);
}
SourceFile.prototype.getLocationMessage = function(message, start, end, includeText) {
var line = this.getLine(start);
- var column = this.getColumn($assert_num(line), start);
+ var column = this.getColumn(line, start);
var buf = new StringBufferImpl(('' + this.filename + ':' + (line + 1) + ':' + (column + 1) + ': ' + message + ''));
- if ($notnull_bool(includeText)) {
+ if (includeText) {
buf.add$1('\n');
var textLine;
if ((line + 2) < this._lineStarts.length) {
- textLine = this.get$text().substring($assert_num(this._lineStarts.$index(line)), $assert_num(this._lineStarts.$index(line + 1)));
+ textLine = this.get$text().substring(this._lineStarts.$index(line), this._lineStarts.$index(line + 1));
}
else {
- textLine = this.get$text().substring($assert_num(this._lineStarts.$index(line))) + '\n';
+ textLine = this.get$text().substring(this._lineStarts.$index(line)) + '\n';
}
buf.add$1(textLine);
var i = 0;
- for (; i < $assert_num(column); i++) {
+ for (; i < column; i++) {
buf.add$1(' ');
}
- var toColumn = Math.min($assert_num(column + (end - start)), textLine.length);
+ var toColumn = Math.min(column + (end - start), textLine.length);
for (; i < toColumn; i++) {
buf.add$1('^');
}
@@ -15887,7 +15424,7 @@ SourceFile.prototype.compareTo = function(other) {
}
}
SourceFile.prototype.compareTo$1 = function($0) {
- return this.compareTo(($0 && $0.is$SourceFile()));
+ return this.compareTo($0);
};
// ********** Code for SourceSpan **************
function SourceSpan(file, start, end) {
@@ -15896,8 +15433,6 @@ function SourceSpan(file, start, end) {
this.end = end;
// Initializers done
}
-SourceSpan.prototype.is$SourceSpan = function(){return this;};
-SourceSpan.prototype.is$Comparable = function(){return this;};
SourceSpan.prototype.get$text = function() {
return this.file.get$text().substring(this.start, this.end);
}
@@ -15906,7 +15441,7 @@ SourceSpan.prototype.toMessageString = function(message) {
}
SourceSpan.prototype.get$locationText = function() {
var line = this.file.getLine(this.start);
- var column = this.file.getColumn($assert_num(line), this.start);
+ var column = this.file.getColumn(line, this.start);
return ('' + this.file.filename + ':' + (line + 1) + ':' + (column + 1) + '');
}
SourceSpan.prototype.compareTo = function(other) {
@@ -15917,7 +15452,7 @@ SourceSpan.prototype.compareTo = function(other) {
return this.file.compareTo(other.file);
}
SourceSpan.prototype.compareTo$1 = function($0) {
- return this.compareTo(($0 && $0.is$SourceSpan()));
+ return this.compareTo($0);
};
// ********** Code for InterpStack **************
function InterpStack(previous, quote, isMultiline) {
@@ -15927,14 +15462,13 @@ function InterpStack(previous, quote, isMultiline) {
this.depth = -1;
// Initializers done
}
-InterpStack.prototype.is$InterpStack = function(){return this;};
InterpStack.prototype.pop = function() {
return this.previous;
}
InterpStack.push = function(stack, quote, isMultiline) {
var newStack = new InterpStack(stack, quote, isMultiline);
if (stack != null) newStack.previous = stack;
- return (newStack && newStack.is$InterpStack());
+ return newStack;
}
InterpStack.prototype.next$0 = function() {
return this.next();
@@ -15986,9 +15520,9 @@ TokenizerBase.prototype._errorToken = function() {
}
TokenizerBase.prototype.finishWhitespace = function() {
while (this._lang_index < this._text.length) {
- if (!$notnull_bool(TokenizerHelpers.isWhitespace(this._text.charCodeAt(this._lang_index++)))) {
+ if (!TokenizerHelpers.isWhitespace(this._text.charCodeAt(this._lang_index++))) {
this._lang_index--;
- if ($notnull_bool(this._skipWhitespace)) {
+ if (this._skipWhitespace) {
return this.next();
}
else {
@@ -16010,7 +15544,7 @@ TokenizerBase.prototype.finishSingleLineComment = function() {
while (true) {
var ch = this._nextChar();
if (ch == 0 || ch == 10 || ch == 13) {
- if ($notnull_bool(this._skipWhitespace)) {
+ if (this._skipWhitespace) {
return this.next();
}
else {
@@ -16026,8 +15560,8 @@ TokenizerBase.prototype.finishMultiLineComment = function() {
return this._finishToken(67/*TokenKind.INCOMPLETE_COMMENT*/);
}
else if (ch == 42) {
- if ($notnull_bool(this._maybeEatChar(47))) {
- if ($notnull_bool(this._skipWhitespace)) {
+ if (this._maybeEatChar(47)) {
+ if (this._skipWhitespace) {
return this.next();
}
else {
@@ -16040,7 +15574,7 @@ TokenizerBase.prototype.finishMultiLineComment = function() {
}
TokenizerBase.prototype.eatDigits = function() {
while (this._lang_index < this._text.length) {
- if ($notnull_bool(TokenizerHelpers.isDigit(this._text.charCodeAt(this._lang_index)))) {
+ if (TokenizerHelpers.isDigit(this._text.charCodeAt(this._lang_index))) {
this._lang_index++;
}
else {
@@ -16050,7 +15584,7 @@ TokenizerBase.prototype.eatDigits = function() {
}
TokenizerBase.prototype.eatHexDigits = function() {
while (this._lang_index < this._text.length) {
- if ($notnull_bool(TokenizerHelpers.isHexDigit(this._text.charCodeAt(this._lang_index)))) {
+ if (TokenizerHelpers.isHexDigit(this._text.charCodeAt(this._lang_index))) {
this._lang_index++;
}
else {
@@ -16059,7 +15593,7 @@ TokenizerBase.prototype.eatHexDigits = function() {
}
}
TokenizerBase.prototype.maybeEatHexDigit = function() {
- if (this._lang_index < this._text.length && $notnull_bool(TokenizerHelpers.isHexDigit(this._text.charCodeAt(this._lang_index)))) {
+ if (this._lang_index < this._text.length && TokenizerHelpers.isHexDigit(this._text.charCodeAt(this._lang_index))) {
this._lang_index++;
return true;
}
@@ -16073,7 +15607,7 @@ TokenizerBase.prototype.finishNumber = function() {
this.eatDigits();
if (this._peekChar() == 46) {
this._nextChar();
- if ($notnull_bool(TokenizerHelpers.isDigit(this._peekChar()))) {
+ if (TokenizerHelpers.isDigit(this._peekChar())) {
this.eatDigits();
return this.finishNumberExtra(62/*TokenKind.DOUBLE*/);
}
@@ -16084,13 +15618,13 @@ TokenizerBase.prototype.finishNumber = function() {
return this.finishNumberExtra(60/*TokenKind.INTEGER*/);
}
TokenizerBase.prototype.finishNumberExtra = function(kind) {
- if ($notnull_bool(this._maybeEatChar(101)) || $notnull_bool(this._maybeEatChar(69))) {
+ if (this._maybeEatChar(101) || this._maybeEatChar(69)) {
kind = 62/*TokenKind.DOUBLE*/;
this._maybeEatChar(45);
this._maybeEatChar(43);
this.eatDigits();
}
- if (this._peekChar() != 0 && $notnull_bool(TokenizerHelpers.isIdentifierStart(this._peekChar()))) {
+ if (this._peekChar() != 0 && TokenizerHelpers.isIdentifierStart(this._peekChar())) {
this._nextChar();
return this._errorToken();
}
@@ -16104,8 +15638,8 @@ TokenizerBase.prototype.finishMultilineString = function(quote) {
return this._finishToken(kind);
}
else if (ch == quote) {
- if ($notnull_bool(this._maybeEatChar(quote))) {
- if ($notnull_bool(this._maybeEatChar(quote))) {
+ if (this._maybeEatChar(quote)) {
+ if (this._maybeEatChar(quote)) {
return this._finishToken(58/*TokenKind.STRING*/);
}
}
@@ -16115,7 +15649,7 @@ TokenizerBase.prototype.finishMultilineString = function(quote) {
return this._finishToken(66/*TokenKind.INCOMPLETE_STRING*/);
}
else if (ch == 92) {
- if (!$notnull_bool(this.eatEscapeSequence())) {
+ if (!this.eatEscapeSequence()) {
return this._errorToken();
}
}
@@ -16128,7 +15662,6 @@ TokenizerBase.prototype._finishOpenBrace = function() {
this._interpStack.depth = 1;
}
else {
- $assert(this._interpStack.depth >= 0, "_interpStack.depth >= 0", "tokenizer.dart", 261, 16);
($0 = this._interpStack).depth = $0.depth + 1;
}
}
@@ -16138,13 +15671,12 @@ TokenizerBase.prototype._finishCloseBrace = function() {
var $0;
if (this._interpStack != null) {
($0 = this._interpStack).depth = $0.depth - 1;
- $assert(this._interpStack.depth >= 0, "_interpStack.depth >= 0", "tokenizer.dart", 271, 14);
}
return this._finishToken(7/*TokenKind.RBRACE*/);
}
TokenizerBase.prototype.finishString = function(quote) {
- if ($notnull_bool(this._maybeEatChar(quote))) {
- if ($notnull_bool(this._maybeEatChar(quote))) {
+ if (this._maybeEatChar(quote)) {
+ if (this._maybeEatChar(quote)) {
return this.finishMultilineString(quote);
}
else {
@@ -16154,8 +15686,8 @@ TokenizerBase.prototype.finishString = function(quote) {
return this.finishStringBody(quote);
}
TokenizerBase.prototype.finishRawString = function(quote) {
- if ($notnull_bool(this._maybeEatChar(quote))) {
- if ($notnull_bool(this._maybeEatChar(quote))) {
+ if (this._maybeEatChar(quote)) {
+ if (this._maybeEatChar(quote)) {
return this.finishMultilineRawString(quote);
}
else {
@@ -16179,7 +15711,7 @@ TokenizerBase.prototype.finishMultilineRawString = function(quote) {
var kind = quote == 34 ? 68/*TokenKind.INCOMPLETE_MULTILINE_STRING_DQ*/ : 69/*TokenKind.INCOMPLETE_MULTILINE_STRING_SQ*/;
return this._finishToken(kind);
}
- else if (ch == quote && $notnull_bool(this._maybeEatChar(quote)) && $notnull_bool(this._maybeEatChar(quote))) {
+ else if (ch == quote && this._maybeEatChar(quote) && this._maybeEatChar(quote)) {
return this._finishToken(58/*TokenKind.STRING*/);
}
}
@@ -16198,7 +15730,7 @@ TokenizerBase.prototype.finishStringBody = function(quote) {
return this._finishToken(66/*TokenKind.INCOMPLETE_STRING*/);
}
else if (ch == 92) {
- if (!$notnull_bool(this.eatEscapeSequence())) {
+ if (!this.eatEscapeSequence()) {
return this._errorToken();
}
}
@@ -16209,15 +15741,15 @@ TokenizerBase.prototype.eatEscapeSequence = function() {
switch (this._nextChar()) {
case 120:
- return $notnull_bool(this.maybeEatHexDigit()) && $notnull_bool(this.maybeEatHexDigit());
+ return this.maybeEatHexDigit() && this.maybeEatHexDigit();
case 117:
- if ($notnull_bool(this._maybeEatChar(123))) {
+ if (this._maybeEatChar(123)) {
var start = this._lang_index;
this.eatHexDigits();
var chars = this._lang_index - start;
- if (chars > 0 && chars <= 6 && $notnull_bool(this._maybeEatChar(125))) {
+ if (chars > 0 && chars <= 6 && this._maybeEatChar(125)) {
hex = this._text.substring(start, start + chars);
break;
}
@@ -16226,7 +15758,7 @@ TokenizerBase.prototype.eatEscapeSequence = function() {
}
}
else {
- if ($notnull_bool(this.maybeEatHexDigit()) && $notnull_bool(this.maybeEatHexDigit()) && $notnull_bool(this.maybeEatHexDigit()) && $notnull_bool(this.maybeEatHexDigit())) {
+ if (this.maybeEatHexDigit() && this.maybeEatHexDigit() && this.maybeEatHexDigit() && this.maybeEatHexDigit()) {
hex = this._text.substring(this._lang_index - 4, this._lang_index);
break;
}
@@ -16244,7 +15776,7 @@ TokenizerBase.prototype.eatEscapeSequence = function() {
return n < 0xD800 || n > 0xDFFF && n <= 0x10FFFF;
}
TokenizerBase.prototype.finishDot = function() {
- if ($notnull_bool(TokenizerHelpers.isDigit(this._peekChar()))) {
+ if (TokenizerHelpers.isDigit(this._peekChar())) {
this.eatDigits();
return this.finishNumberExtra(62/*TokenKind.DOUBLE*/);
}
@@ -16254,7 +15786,7 @@ TokenizerBase.prototype.finishDot = function() {
}
TokenizerBase.prototype.finishIdentifier = function() {
while (this._lang_index < this._text.length) {
- if (!$notnull_bool(TokenizerHelpers.isIdentifierPart(this._text.charCodeAt(this._lang_index++)))) {
+ if (!TokenizerHelpers.isIdentifierPart(this._text.charCodeAt(this._lang_index++))) {
this._lang_index--;
break;
}
@@ -16284,7 +15816,7 @@ Tokenizer.prototype.next = function() {
if (this._interpStack != null && this._interpStack.depth == 0) {
var istack = this._interpStack;
this._interpStack = this._interpStack.pop();
- if ($notnull_bool(istack.isMultiline)) {
+ if (istack.isMultiline) {
return this.finishMultilineString(istack.quote);
}
else {
@@ -16307,8 +15839,8 @@ Tokenizer.prototype.next = function() {
case 33:
- if ($notnull_bool(this._maybeEatChar(61))) {
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(61)) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(51/*TokenKind.NE_STRICT*/);
}
else {
@@ -16325,7 +15857,7 @@ Tokenizer.prototype.next = function() {
case 35:
- if ($notnull_bool(this._maybeEatChar(33))) {
+ if (this._maybeEatChar(33)) {
return this.finishHashBang();
}
else {
@@ -16334,10 +15866,10 @@ Tokenizer.prototype.next = function() {
case 36:
- if ($notnull_bool(this._maybeEatChar(34))) {
+ if (this._maybeEatChar(34)) {
return this.finishString(34);
}
- else if ($notnull_bool(this._maybeEatChar(39))) {
+ else if (this._maybeEatChar(39)) {
return this.finishString(39);
}
else {
@@ -16346,7 +15878,7 @@ Tokenizer.prototype.next = function() {
case 37:
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(32/*TokenKind.ASSIGN_MOD*/);
}
else {
@@ -16355,10 +15887,10 @@ Tokenizer.prototype.next = function() {
case 38:
- if ($notnull_bool(this._maybeEatChar(38))) {
+ if (this._maybeEatChar(38)) {
return this._finishToken(35/*TokenKind.AND*/);
}
- else if ($notnull_bool(this._maybeEatChar(61))) {
+ else if (this._maybeEatChar(61)) {
return this._finishToken(23/*TokenKind.ASSIGN_AND*/);
}
else {
@@ -16379,7 +15911,7 @@ Tokenizer.prototype.next = function() {
case 42:
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(29/*TokenKind.ASSIGN_MUL*/);
}
else {
@@ -16388,10 +15920,10 @@ Tokenizer.prototype.next = function() {
case 43:
- if ($notnull_bool(this._maybeEatChar(43))) {
+ if (this._maybeEatChar(43)) {
return this._finishToken(16/*TokenKind.INCR*/);
}
- else if ($notnull_bool(this._maybeEatChar(61))) {
+ else if (this._maybeEatChar(61)) {
return this._finishToken(27/*TokenKind.ASSIGN_ADD*/);
}
else {
@@ -16404,10 +15936,10 @@ Tokenizer.prototype.next = function() {
case 45:
- if ($notnull_bool(this._maybeEatChar(45))) {
+ if (this._maybeEatChar(45)) {
return this._finishToken(17/*TokenKind.DECR*/);
}
- else if ($notnull_bool(this._maybeEatChar(61))) {
+ else if (this._maybeEatChar(61)) {
return this._finishToken(28/*TokenKind.ASSIGN_SUB*/);
}
else {
@@ -16416,8 +15948,8 @@ Tokenizer.prototype.next = function() {
case 46:
- if ($notnull_bool(this._maybeEatChar(46))) {
- if ($notnull_bool(this._maybeEatChar(46))) {
+ if (this._maybeEatChar(46)) {
+ if (this._maybeEatChar(46)) {
return this._finishToken(15/*TokenKind.ELLIPSIS*/);
}
else {
@@ -16430,13 +15962,13 @@ Tokenizer.prototype.next = function() {
case 47:
- if ($notnull_bool(this._maybeEatChar(42))) {
+ if (this._maybeEatChar(42)) {
return this.finishMultiLineComment();
}
- else if ($notnull_bool(this._maybeEatChar(47))) {
+ else if (this._maybeEatChar(47)) {
return this.finishSingleLineComment();
}
- else if ($notnull_bool(this._maybeEatChar(61))) {
+ else if (this._maybeEatChar(61)) {
return this._finishToken(30/*TokenKind.ASSIGN_DIV*/);
}
else {
@@ -16445,10 +15977,10 @@ Tokenizer.prototype.next = function() {
case 48:
- if ($notnull_bool(this._maybeEatChar(88))) {
+ if (this._maybeEatChar(88)) {
return this.finishHex();
}
- else if ($notnull_bool(this._maybeEatChar(120))) {
+ else if (this._maybeEatChar(120)) {
return this.finishHex();
}
else {
@@ -16465,15 +15997,15 @@ Tokenizer.prototype.next = function() {
case 60:
- if ($notnull_bool(this._maybeEatChar(60))) {
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(60)) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(24/*TokenKind.ASSIGN_SHL*/);
}
else {
return this._finishToken(39/*TokenKind.SHL*/);
}
}
- else if ($notnull_bool(this._maybeEatChar(61))) {
+ else if (this._maybeEatChar(61)) {
return this._finishToken(54/*TokenKind.LTE*/);
}
else {
@@ -16482,15 +16014,15 @@ Tokenizer.prototype.next = function() {
case 61:
- if ($notnull_bool(this._maybeEatChar(61))) {
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(61)) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(50/*TokenKind.EQ_STRICT*/);
}
else {
return this._finishToken(48/*TokenKind.EQ*/);
}
}
- else if ($notnull_bool(this._maybeEatChar(62))) {
+ else if (this._maybeEatChar(62)) {
return this._finishToken(9/*TokenKind.ARROW*/);
}
else {
@@ -16499,15 +16031,15 @@ Tokenizer.prototype.next = function() {
case 62:
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(55/*TokenKind.GTE*/);
}
- else if ($notnull_bool(this._maybeEatChar(62))) {
- if ($notnull_bool(this._maybeEatChar(61))) {
+ else if (this._maybeEatChar(62)) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(25/*TokenKind.ASSIGN_SAR*/);
}
- else if ($notnull_bool(this._maybeEatChar(62))) {
- if ($notnull_bool(this._maybeEatChar(61))) {
+ else if (this._maybeEatChar(62)) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(26/*TokenKind.ASSIGN_SHR*/);
}
else {
@@ -16528,10 +16060,10 @@ Tokenizer.prototype.next = function() {
case 64:
- if ($notnull_bool(this._maybeEatChar(34))) {
+ if (this._maybeEatChar(34)) {
return this.finishRawString(34);
}
- else if ($notnull_bool(this._maybeEatChar(39))) {
+ else if (this._maybeEatChar(39)) {
return this.finishRawString(39);
}
else {
@@ -16540,8 +16072,8 @@ Tokenizer.prototype.next = function() {
case 91:
- if ($notnull_bool(this._maybeEatChar(93))) {
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(93)) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(57/*TokenKind.SETINDEX*/);
}
else {
@@ -16558,7 +16090,7 @@ Tokenizer.prototype.next = function() {
case 94:
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(22/*TokenKind.ASSIGN_XOR*/);
}
else {
@@ -16571,10 +16103,10 @@ Tokenizer.prototype.next = function() {
case 124:
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(21/*TokenKind.ASSIGN_OR*/);
}
- else if ($notnull_bool(this._maybeEatChar(124))) {
+ else if (this._maybeEatChar(124)) {
return this._finishToken(34/*TokenKind.OR*/);
}
else {
@@ -16587,8 +16119,8 @@ Tokenizer.prototype.next = function() {
case 126:
- if ($notnull_bool(this._maybeEatChar(47))) {
- if ($notnull_bool(this._maybeEatChar(61))) {
+ if (this._maybeEatChar(47)) {
+ if (this._maybeEatChar(61)) {
return this._finishToken(31/*TokenKind.ASSIGN_TRUNCDIV*/);
}
else {
@@ -16601,10 +16133,10 @@ Tokenizer.prototype.next = function() {
default:
- if ($notnull_bool(TokenizerHelpers.isIdentifierStart(ch))) {
+ if (TokenizerHelpers.isIdentifierStart(ch)) {
return this.finishIdentifier();
}
- else if ($notnull_bool(TokenizerHelpers.isDigit(ch))) {
+ else if (TokenizerHelpers.isDigit(ch)) {
return this.finishNumber();
}
else {
@@ -16812,13 +16344,13 @@ TokenizerHelpers.isDigit = function(c) {
return (c >= 48 && c <= 57);
}
TokenizerHelpers.isHexDigit = function(c) {
- return ($notnull_bool(TokenizerHelpers.isDigit(c)) || (c >= 97 && c <= 102) || (c >= 65 && c <= 70));
+ return (TokenizerHelpers.isDigit(c) || (c >= 97 && c <= 102) || (c >= 65 && c <= 70));
}
TokenizerHelpers.isWhitespace = function(c) {
return (c == 32 || c == 9 || c == 10 || c == 13);
}
TokenizerHelpers.isIdentifierPart = function(c) {
- return ($notnull_bool(TokenizerHelpers.isIdentifierStart(c)) || $notnull_bool(TokenizerHelpers.isDigit(c)));
+ return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c));
}
// ********** Code for TokenKind **************
function TokenKind() {}
@@ -17637,10 +17169,10 @@ function lang_Parser(source, diet, throwOnIncomplete, optionalSemicolons, startO
this._inInitializers = false;
}
lang_Parser.prototype.isPrematureEndOfFile = function() {
- if ($notnull_bool(this.throwOnIncomplete) && $notnull_bool(this._maybeEat(1/*TokenKind.END_OF_FILE*/)) || $notnull_bool(this._maybeEat(68/*TokenKind.INCOMPLETE_MULTILINE_STRING_DQ*/)) || $notnull_bool(this._maybeEat(69/*TokenKind.INCOMPLETE_MULTILINE_STRING_SQ*/))) {
+ if (this.throwOnIncomplete && this._maybeEat(1/*TokenKind.END_OF_FILE*/) || this._maybeEat(68/*TokenKind.INCOMPLETE_MULTILINE_STRING_DQ*/) || this._maybeEat(69/*TokenKind.INCOMPLETE_MULTILINE_STRING_SQ*/)) {
$throw(new IncompleteSourceException(this._previousToken));
}
- else if ($notnull_bool(this._maybeEat(1/*TokenKind.END_OF_FILE*/))) {
+ else if (this._maybeEat(1/*TokenKind.END_OF_FILE*/)) {
this._lang_error('unexpected end of file', this._peekToken.get$span());
return true;
}
@@ -17673,19 +17205,19 @@ lang_Parser.prototype._maybeEat = function(kind) {
}
}
lang_Parser.prototype._eat = function(kind) {
- if (!$notnull_bool(this._maybeEat(kind))) {
+ if (!this._maybeEat(kind)) {
this._errorExpected(TokenKind.kindToString(kind));
}
}
lang_Parser.prototype._eatSemicolon = function() {
- if ($notnull_bool(this.optionalSemicolons) && $notnull_bool(this._peekKind(1/*TokenKind.END_OF_FILE*/))) return;
+ if (this.optionalSemicolons && this._peekKind(1/*TokenKind.END_OF_FILE*/)) return;
this._eat(10/*TokenKind.SEMICOLON*/);
}
lang_Parser.prototype._errorExpected = function(expected) {
- if ($notnull_bool(this.throwOnIncomplete)) this.isPrematureEndOfFile();
+ if (this.throwOnIncomplete) this.isPrematureEndOfFile();
var tok = this._lang_next();
var message = ('expected ' + expected + ', but found ' + tok + '');
- this._lang_error($assert_String(message), tok.get$span());
+ this._lang_error(message, tok.get$span());
}
lang_Parser.prototype._lang_error = function(message, location) {
if (location == null) {
@@ -17698,14 +17230,14 @@ lang_Parser.prototype._skipBlock = function() {
this._eat(6/*TokenKind.LBRACE*/);
while (true) {
var tok = this._lang_next();
- if ($notnull_bool($eq(tok.kind, 6/*TokenKind.LBRACE*/))) {
+ if ($eq(tok.kind, 6/*TokenKind.LBRACE*/)) {
depth += 1;
}
- else if ($notnull_bool($eq(tok.kind, 7/*TokenKind.RBRACE*/))) {
+ else if ($eq(tok.kind, 7/*TokenKind.RBRACE*/)) {
depth -= 1;
if (depth == 0) return;
}
- else if ($notnull_bool($eq(tok.kind, 1/*TokenKind.END_OF_FILE*/))) {
+ else if ($eq(tok.kind, 1/*TokenKind.END_OF_FILE*/)) {
this._lang_error('unexpected end of file during diet parse', tok.get$span());
return;
}
@@ -17717,13 +17249,13 @@ lang_Parser.prototype._makeSpan = function(start) {
lang_Parser.prototype.compilationUnit = function() {
var ret = [];
this._maybeEat(13/*TokenKind.HASHBANG*/);
- while ($notnull_bool(this._peekKind(12/*TokenKind.HASH*/))) {
+ while (this._peekKind(12/*TokenKind.HASH*/)) {
ret.add$1(this.directive());
}
- while (!$notnull_bool(this._maybeEat(1/*TokenKind.END_OF_FILE*/))) {
+ while (!this._maybeEat(1/*TokenKind.END_OF_FILE*/)) {
ret.add$1(this.topLevelDefinition());
}
- return (ret && ret.is$List$Definition());
+ return ret;
}
lang_Parser.prototype.directive = function() {
var start = this._peekToken.start;
@@ -17758,29 +17290,29 @@ lang_Parser.prototype.classDefinition = function(kind) {
this._eat(kind);
var name = this.identifier();
var typeParams = null;
- if ($notnull_bool(this._peekKind(52/*TokenKind.LT*/))) {
+ if (this._peekKind(52/*TokenKind.LT*/)) {
typeParams = this.typeParameters();
}
var _extends = null;
- if ($notnull_bool(this._maybeEat(74/*TokenKind.EXTENDS*/))) {
+ if (this._maybeEat(74/*TokenKind.EXTENDS*/)) {
_extends = this.typeList();
}
var _implements = null;
- if ($notnull_bool(this._maybeEat(77/*TokenKind.IMPLEMENTS*/))) {
+ if (this._maybeEat(77/*TokenKind.IMPLEMENTS*/)) {
_implements = this.typeList();
}
var _native = null;
- if ($notnull_bool(this._maybeEat(81/*TokenKind.NATIVE*/))) {
+ if (this._maybeEat(81/*TokenKind.NATIVE*/)) {
_native = this.maybeStringLiteral();
}
var _factory = null;
- if ($notnull_bool(this._maybeEat(75/*TokenKind.FACTORY*/))) {
+ if (this._maybeEat(75/*TokenKind.FACTORY*/)) {
_factory = this.type(0);
}
var body = [];
- if ($notnull_bool(this._maybeEat(6/*TokenKind.LBRACE*/))) {
- while (!$notnull_bool(this._maybeEat(7/*TokenKind.RBRACE*/))) {
- if ($notnull_bool(this.isPrematureEndOfFile())) break;
+ if (this._maybeEat(6/*TokenKind.LBRACE*/)) {
+ while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
+ if (this.isPrematureEndOfFile()) break;
body.add$1(this.declaration(true));
}
}
@@ -17794,7 +17326,7 @@ lang_Parser.prototype.functionTypeAlias = function() {
this._eat(87/*TokenKind.TYPEDEF*/);
var di = this.declaredIdentifier(false);
var typeParams = null;
- if ($notnull_bool(this._peekKind(52/*TokenKind.LT*/))) {
+ if (this._peekKind(52/*TokenKind.LT*/)) {
typeParams = this.typeParameters();
}
var formals = this.formalParameterList();
@@ -17808,21 +17340,21 @@ lang_Parser.prototype.initializers = function() {
do {
ret.add$1(this.expression());
}
- while ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/)))
+ while (this._maybeEat(11/*TokenKind.COMMA*/))
this._inInitializers = false;
return ret;
}
lang_Parser.prototype.functionBody = function(inExpression) {
var start = this._peekToken.start;
- if ($notnull_bool(this._maybeEat(9/*TokenKind.ARROW*/))) {
+ if (this._maybeEat(9/*TokenKind.ARROW*/)) {
var expr = this.expression();
- if (!$notnull_bool(inExpression)) {
+ if (!inExpression) {
this._eatSemicolon();
}
return new ReturnStatement(expr, this._makeSpan(start));
}
- else if ($notnull_bool(this._peekKind(6/*TokenKind.LBRACE*/))) {
- if ($notnull_bool(this.diet)) {
+ else if (this._peekKind(6/*TokenKind.LBRACE*/)) {
+ if (this.diet) {
this._skipBlock();
return new DietStatement(this._makeSpan(start));
}
@@ -17830,13 +17362,13 @@ lang_Parser.prototype.functionBody = function(inExpression) {
return this.block();
}
}
- else if (!$notnull_bool(inExpression)) {
- if ($notnull_bool(this._maybeEat(10/*TokenKind.SEMICOLON*/))) {
+ else if (!inExpression) {
+ if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
return null;
}
- else if ($notnull_bool(this._maybeEat(81/*TokenKind.NATIVE*/))) {
+ else if (this._maybeEat(81/*TokenKind.NATIVE*/)) {
var nativeBody = this.maybeStringLiteral();
- if ($notnull_bool(this._peekKind(10/*TokenKind.SEMICOLON*/))) {
+ if (this._peekKind(10/*TokenKind.SEMICOLON*/)) {
this._eatSemicolon();
return new NativeStatement(nativeBody, this._makeSpan(start));
}
@@ -17850,9 +17382,9 @@ lang_Parser.prototype.functionBody = function(inExpression) {
lang_Parser.prototype.finishField = function(start, modifiers, type, name, value) {
var names = [name];
var values = [value];
- while ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/))) {
+ while (this._maybeEat(11/*TokenKind.COMMA*/)) {
names.add$1(this.identifier());
- if ($notnull_bool(this._maybeEat(20/*TokenKind.ASSIGN*/))) {
+ if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
values.add$1(this.expression());
}
else {
@@ -17860,23 +17392,22 @@ lang_Parser.prototype.finishField = function(start, modifiers, type, name, value
}
}
this._eatSemicolon();
- return new VariableDefinition(modifiers, type, names, values, this._makeSpan($assert_num(start)));
+ return new VariableDefinition(modifiers, type, names, values, this._makeSpan(start));
}
lang_Parser.prototype.finishDefinition = function(start, modifiers, di) {
- var $0;
switch (this._peek()) {
case 2/*TokenKind.LPAREN*/:
var formals = this.formalParameterList();
var inits = null;
- if ($notnull_bool(this._maybeEat(8/*TokenKind.COLON*/))) {
+ if (this._maybeEat(8/*TokenKind.COLON*/)) {
inits = this.initializers();
}
var body = this.functionBody(false);
- if ($notnull_bool(di.get$name() == null)) {
- di.set$name(di.type.get$name());
+ if (di.get$name() == null) {
+ di.name = di.type.get$name();
}
- return new FunctionDefinition(modifiers, di.type, di.get$name(), formals, inits, body, this._makeSpan($assert_num(start)));
+ return new FunctionDefinition(modifiers, di.type, di.get$name(), formals, inits, body, this._makeSpan(start));
case 20/*TokenKind.ASSIGN*/:
@@ -17898,7 +17429,7 @@ lang_Parser.prototype.finishDefinition = function(start, modifiers, di) {
}
lang_Parser.prototype.declaration = function(includeOperators) {
var start = this._peekToken.start;
- if ($notnull_bool(this._peekKind(75/*TokenKind.FACTORY*/))) {
+ if (this._peekKind(75/*TokenKind.FACTORY*/)) {
return this.factoryConstructorDeclaration();
}
var modifiers = this._readModifiers();
@@ -17908,19 +17439,19 @@ lang_Parser.prototype.factoryConstructorDeclaration = function() {
var start = this._peekToken.start;
var factoryToken = this._lang_next();
var names = [this.identifier()];
- while ($notnull_bool(this._maybeEat(14/*TokenKind.DOT*/))) {
+ while (this._maybeEat(14/*TokenKind.DOT*/)) {
names.add$1(this.identifier());
}
var typeParams = null;
- if ($notnull_bool(this._peekKind(52/*TokenKind.LT*/))) {
+ if (this._peekKind(52/*TokenKind.LT*/)) {
typeParams = this.typeParameters();
}
var name = null;
var type = null;
- if ($notnull_bool(this._maybeEat(14/*TokenKind.DOT*/))) {
+ if (this._maybeEat(14/*TokenKind.DOT*/)) {
name = this.identifier();
}
- else if ($notnull_bool(typeParams == null)) {
+ else if (typeParams == null) {
if (names.length > 1) {
name = names.removeLast$0();
}
@@ -17939,27 +17470,26 @@ lang_Parser.prototype.factoryConstructorDeclaration = function() {
return this.finishDefinition(start, [factoryToken], di);
}
lang_Parser.prototype.statement = function() {
- var $0;
switch (this._peek()) {
case 88/*TokenKind.BREAK*/:
- return (($0 = this.breakStatement()) && $0.is$lang_Statement());
+ return this.breakStatement();
case 92/*TokenKind.CONTINUE*/:
- return (($0 = this.continueStatement()) && $0.is$lang_Statement());
+ return this.continueStatement();
case 105/*TokenKind.RETURN*/:
- return (($0 = this.returnStatement()) && $0.is$lang_Statement());
+ return this.returnStatement();
case 109/*TokenKind.THROW*/:
- return (($0 = this.throwStatement()) && $0.is$lang_Statement());
+ return this.throwStatement();
case 72/*TokenKind.ASSERT*/:
- return (($0 = this.assertStatement()) && $0.is$lang_Statement());
+ return this.assertStatement();
case 114/*TokenKind.WHILE*/:
@@ -17971,7 +17501,7 @@ lang_Parser.prototype.statement = function() {
case 99/*TokenKind.FOR*/:
- return (($0 = this.forStatement()) && $0.is$lang_Statement());
+ return this.forStatement();
case 100/*TokenKind.IF*/:
@@ -17979,11 +17509,11 @@ lang_Parser.prototype.statement = function() {
case 107/*TokenKind.SWITCH*/:
- return (($0 = this.switchStatement()) && $0.is$lang_Statement());
+ return this.switchStatement();
case 111/*TokenKind.TRY*/:
- return (($0 = this.tryStatement()) && $0.is$lang_Statement());
+ return this.tryStatement();
case 6/*TokenKind.LBRACE*/:
@@ -17995,22 +17525,21 @@ lang_Parser.prototype.statement = function() {
case 97/*TokenKind.FINAL*/:
- return (($0 = this.declaration(false)) && $0.is$lang_Statement());
+ return this.declaration(false);
case 112/*TokenKind.VAR*/:
- return (($0 = this.declaration(false)) && $0.is$lang_Statement());
+ return this.declaration(false);
default:
- return (($0 = this.finishExpressionAsStatement(this.expression())) && $0.is$lang_Statement());
+ return this.finishExpressionAsStatement(this.expression());
}
}
lang_Parser.prototype.finishExpressionAsStatement = function(expr) {
- var $0;
var start = expr.get$span().start;
- if ($notnull_bool(this._maybeEat(8/*TokenKind.COLON*/))) {
+ if (this._maybeEat(8/*TokenKind.COLON*/)) {
var label = this._makeLabel(expr);
return new LabeledStatement(label, this.statement(), this._makeSpan(start));
}
@@ -18023,22 +17552,22 @@ lang_Parser.prototype.finishExpressionAsStatement = function(expr) {
}
else if ((expr instanceof DeclaredIdentifier)) {
var value = null;
- if ($notnull_bool(this._maybeEat(20/*TokenKind.ASSIGN*/))) {
+ if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
value = this.expression();
}
return this.finishField(start, null, expr.type, expr.get$name(), value);
}
- else if ($notnull_bool(this._isBin(expr, 20/*TokenKind.ASSIGN*/)) && ((expr.x instanceof DeclaredIdentifier))) {
- var di = (($0 = expr.x) && $0.is$DeclaredIdentifier());
+ else if (this._isBin(expr, 20/*TokenKind.ASSIGN*/) && ((expr.x instanceof DeclaredIdentifier))) {
+ var di = expr.x;
return this.finishField(start, null, di.type, di.name, expr.y);
}
- else if ($notnull_bool(this._isBin(expr, 52/*TokenKind.LT*/)) && $notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/))) {
+ else if (this._isBin(expr, 52/*TokenKind.LT*/) && this._maybeEat(11/*TokenKind.COMMA*/)) {
var baseType = this._makeType(expr.x);
var typeArgs = [this._makeType(expr.y)];
- var gt = this._finishTypeArguments((baseType && baseType.is$TypeReference()), 0, typeArgs);
+ var gt = this._finishTypeArguments(baseType, 0, typeArgs);
var name = this.identifier();
var value = null;
- if ($notnull_bool(this._maybeEat(20/*TokenKind.ASSIGN*/))) {
+ if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
value = this.expression();
}
return this.finishField(expr.get$span().start, null, gt, name, value);
@@ -18052,14 +17581,14 @@ lang_Parser.prototype.testCondition = function() {
this._eat(2/*TokenKind.LPAREN*/);
var ret = this.expression();
this._eat(3/*TokenKind.RPAREN*/);
- return (ret && ret.is$lang_Expression());
+ return ret;
}
lang_Parser.prototype.block = function() {
var start = this._peekToken.start;
this._eat(6/*TokenKind.LBRACE*/);
var stmts = [];
- while (!$notnull_bool(this._maybeEat(7/*TokenKind.RBRACE*/))) {
- if ($notnull_bool(this.isPrematureEndOfFile())) break;
+ while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
+ if (this.isPrematureEndOfFile()) break;
stmts.add$1(this.statement());
}
return new BlockStatement(stmts, this._makeSpan(start));
@@ -18075,7 +17604,7 @@ lang_Parser.prototype.ifStatement = function() {
var test = this.testCondition();
var trueBranch = this.statement();
var falseBranch = null;
- if ($notnull_bool(this._maybeEat(95/*TokenKind.ELSE*/))) {
+ if (this._maybeEat(95/*TokenKind.ELSE*/)) {
falseBranch = this.statement();
}
return new IfStatement(test, trueBranch, falseBranch, this._makeSpan(start));
@@ -18105,14 +17634,14 @@ lang_Parser.prototype.forStatement = function() {
return init;
}
var test = null;
- if (!$notnull_bool(this._maybeEat(10/*TokenKind.SEMICOLON*/))) {
+ if (!this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
test = this.expression();
this._eatSemicolon();
}
var step = [];
- if (!$notnull_bool(this._maybeEat(3/*TokenKind.RPAREN*/))) {
+ if (!this._maybeEat(3/*TokenKind.RPAREN*/)) {
step.add$1(this.expression());
- while ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/))) {
+ while (this._maybeEat(11/*TokenKind.COMMA*/)) {
step.add$1(this.expression());
}
this._eat(3/*TokenKind.RPAREN*/);
@@ -18121,22 +17650,21 @@ lang_Parser.prototype.forStatement = function() {
return new ForStatement(init, test, step, body, this._makeSpan(start));
}
lang_Parser.prototype.forInitializerStatement = function(start) {
- var $0;
- if ($notnull_bool(this._maybeEat(10/*TokenKind.SEMICOLON*/))) {
+ if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
return null;
}
else {
var init = this.expression();
- if ($notnull_bool(this._peekKind(11/*TokenKind.COMMA*/)) && $notnull_bool(this._isBin(init, 52/*TokenKind.LT*/))) {
+ if (this._peekKind(11/*TokenKind.COMMA*/) && this._isBin(init, 52/*TokenKind.LT*/)) {
this._eat(11/*TokenKind.COMMA*/);
var baseType = this._makeType(init.x);
var typeArgs = [this._makeType(init.y)];
- var gt = this._finishTypeArguments((baseType && baseType.is$TypeReference()), 0, typeArgs);
+ var gt = this._finishTypeArguments(baseType, 0, typeArgs);
var name = this.identifier();
init = new DeclaredIdentifier(gt, name, this._makeSpan(init.get$span().start));
}
- if ($notnull_bool(this._maybeEat(101/*TokenKind.IN*/))) {
- return this._finishForIn(start, (($0 = this._makeDeclaredIdentifier(init)) && $0.is$DeclaredIdentifier()));
+ if (this._maybeEat(101/*TokenKind.IN*/)) {
+ return this._finishForIn(start, this._makeDeclaredIdentifier(init));
}
else {
return this.finishExpressionAsStatement(init);
@@ -18154,11 +17682,11 @@ lang_Parser.prototype.tryStatement = function() {
this._eat(111/*TokenKind.TRY*/);
var body = this.block();
var catches = [];
- while ($notnull_bool(this._peekKind(90/*TokenKind.CATCH*/))) {
+ while (this._peekKind(90/*TokenKind.CATCH*/)) {
catches.add$1(this.catchNode());
}
var finallyBlock = null;
- if ($notnull_bool(this._maybeEat(98/*TokenKind.FINALLY*/))) {
+ if (this._maybeEat(98/*TokenKind.FINALLY*/)) {
finallyBlock = this.block();
}
return new TryStatement(body, catches, finallyBlock, this._makeSpan(start));
@@ -18169,7 +17697,7 @@ lang_Parser.prototype.catchNode = function() {
this._eat(2/*TokenKind.LPAREN*/);
var exc = this.declaredIdentifier(false);
var trace = null;
- if ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/))) {
+ if (this._maybeEat(11/*TokenKind.COMMA*/)) {
trace = this.declaredIdentifier(false);
}
this._eat(3/*TokenKind.RPAREN*/);
@@ -18182,29 +17710,29 @@ lang_Parser.prototype.switchStatement = function() {
var test = this.testCondition();
var cases = [];
this._eat(6/*TokenKind.LBRACE*/);
- while (!$notnull_bool(this._maybeEat(7/*TokenKind.RBRACE*/))) {
+ while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
cases.add$1(this.caseNode());
}
return new SwitchStatement(test, cases, this._makeSpan(start));
}
lang_Parser.prototype._peekCaseEnd = function() {
var kind = this._peek();
- return $notnull_bool($eq(kind, 7/*TokenKind.RBRACE*/)) || $notnull_bool($eq(kind, 89/*TokenKind.CASE*/)) || $notnull_bool($eq(kind, 93/*TokenKind.DEFAULT*/));
+ return $eq(kind, 7/*TokenKind.RBRACE*/) || $eq(kind, 89/*TokenKind.CASE*/) || $eq(kind, 93/*TokenKind.DEFAULT*/);
}
lang_Parser.prototype.caseNode = function() {
var start = this._peekToken.start;
var label = null;
- if ($notnull_bool(this._peekIdentifier())) {
+ if (this._peekIdentifier()) {
label = this.identifier();
this._eat(8/*TokenKind.COLON*/);
}
var cases = [];
while (true) {
- if ($notnull_bool(this._maybeEat(89/*TokenKind.CASE*/))) {
+ if (this._maybeEat(89/*TokenKind.CASE*/)) {
cases.add$1(this.expression());
this._eat(8/*TokenKind.COLON*/);
}
- else if ($notnull_bool(this._maybeEat(93/*TokenKind.DEFAULT*/))) {
+ else if (this._maybeEat(93/*TokenKind.DEFAULT*/)) {
cases.add$1();
this._eat(8/*TokenKind.COLON*/);
}
@@ -18216,8 +17744,8 @@ lang_Parser.prototype.caseNode = function() {
this._lang_error('case or default');
}
var stmts = [];
- while (!$notnull_bool(this._peekCaseEnd())) {
- if ($notnull_bool(this.isPrematureEndOfFile())) break;
+ while (!this._peekCaseEnd()) {
+ if (this.isPrematureEndOfFile()) break;
stmts.add$1(this.statement());
}
return new CaseNode(label, cases, stmts, this._makeSpan(start));
@@ -18226,7 +17754,7 @@ lang_Parser.prototype.returnStatement = function() {
var start = this._peekToken.start;
this._eat(105/*TokenKind.RETURN*/);
var expr;
- if ($notnull_bool(this._maybeEat(10/*TokenKind.SEMICOLON*/))) {
+ if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
expr = null;
}
else {
@@ -18239,7 +17767,7 @@ lang_Parser.prototype.throwStatement = function() {
var start = this._peekToken.start;
this._eat(109/*TokenKind.THROW*/);
var expr;
- if ($notnull_bool(this._maybeEat(10/*TokenKind.SEMICOLON*/))) {
+ if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
expr = null;
}
else {
@@ -18261,7 +17789,7 @@ lang_Parser.prototype.breakStatement = function() {
var start = this._peekToken.start;
this._eat(88/*TokenKind.BREAK*/);
var name = null;
- if ($notnull_bool(this._peekIdentifier())) {
+ if (this._peekIdentifier()) {
name = this.identifier();
}
this._eatSemicolon();
@@ -18271,7 +17799,7 @@ lang_Parser.prototype.continueStatement = function() {
var start = this._peekToken.start;
this._eat(92/*TokenKind.CONTINUE*/);
var name = null;
- if ($notnull_bool(this._peekIdentifier())) {
+ if (this._peekIdentifier()) {
name = this.identifier();
}
this._eatSemicolon();
@@ -18301,32 +17829,29 @@ lang_Parser.prototype._makeType = function(expr) {
}
}
lang_Parser.prototype.infixExpression = function(precedence) {
- var $0;
- return this.finishInfixExpression((($0 = this.unaryExpression()) && $0.is$lang_Expression()), precedence);
+ return this.finishInfixExpression(this.unaryExpression(), precedence);
}
lang_Parser.prototype._finishDeclaredId = function(type) {
var name = this.identifier();
return this.finishPostfixExpression(new DeclaredIdentifier(type, name, this._makeSpan(type.get$span().start)));
}
lang_Parser.prototype._fixAsType = function(x) {
- $assert(this._isBin(x, 52/*TokenKind.LT*/), "_isBin(x, TokenKind.LT)", "parser.dart", 790, 12);
- if ($notnull_bool(this._maybeEat(53/*TokenKind.GT*/))) {
+ if (this._maybeEat(53/*TokenKind.GT*/)) {
var base = this._makeType(x.x);
var typeParam = this._makeType(x.y);
var type = new GenericTypeReference(base, [typeParam], 0, this._makeSpan(x.span.start));
return this._finishDeclaredId(type);
}
else {
- $assert(this._peekKind(52/*TokenKind.LT*/), "_peekKind(TokenKind.LT)", "parser.dart", 801, 14);
var base = this._makeType(x.x);
var paramBase = this._makeType(x.y);
- var firstParam = this.addTypeArguments((paramBase && paramBase.is$TypeReference()), 1);
+ var firstParam = this.addTypeArguments(paramBase, 1);
var type;
if (firstParam.depth <= 0) {
type = new GenericTypeReference(base, [firstParam], 0, this._makeSpan(x.span.start));
}
- else if ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/))) {
- type = this._finishTypeArguments((base && base.is$TypeReference()), 0, [firstParam]);
+ else if (this._maybeEat(11/*TokenKind.COMMA*/)) {
+ type = this._finishTypeArguments(base, 0, [firstParam]);
}
else {
this._eat(53/*TokenKind.GT*/);
@@ -18341,21 +17866,21 @@ lang_Parser.prototype.finishInfixExpression = function(x, precedence) {
var prec = TokenKind.infixPrecedence(this._peek());
if (prec >= precedence) {
if (kind == 52/*TokenKind.LT*/ || kind == 53/*TokenKind.GT*/) {
- if ($notnull_bool(this._isBin(x, 52/*TokenKind.LT*/))) {
- return this._fixAsType((x && x.is$BinaryExpression()));
+ if (this._isBin(x, 52/*TokenKind.LT*/)) {
+ return this._fixAsType(x);
}
}
var op = this._lang_next();
- if ($notnull_bool($eq(op.kind, 102/*TokenKind.IS*/))) {
- var isTrue = !$notnull_bool(this._maybeEat(19/*TokenKind.NOT*/));
+ if ($eq(op.kind, 102/*TokenKind.IS*/)) {
+ var isTrue = !this._maybeEat(19/*TokenKind.NOT*/);
var typeRef = this.type(0);
x = new IsExpression(isTrue, x, typeRef, this._makeSpan(x.span.start));
continue;
}
- var y = this.infixExpression($assert_num($notnull_bool($eq(prec, 2)) ? prec : prec + 1));
- if ($notnull_bool($eq(op.kind, 33/*TokenKind.CONDITIONAL*/))) {
+ var y = this.infixExpression($eq(prec, 2) ? prec : prec + 1);
+ if ($eq(op.kind, 33/*TokenKind.CONDITIONAL*/)) {
this._eat(8/*TokenKind.COLON*/);
- var z = this.infixExpression($assert_num(prec));
+ var z = this.infixExpression(prec);
x = new ConditionalExpression(x, y, z, this._makeSpan(x.span.start));
}
else {
@@ -18387,7 +17912,7 @@ lang_Parser.prototype._isPrefixUnaryOperator = function(kind) {
}
lang_Parser.prototype.unaryExpression = function() {
var start = this._peekToken.start;
- if ($notnull_bool(this._isPrefixUnaryOperator(this._peek()))) {
+ if (this._isPrefixUnaryOperator(this._peek())) {
var tok = this._lang_next();
var expr = this.unaryExpression();
return new UnaryExpression(tok, expr, this._makeSpan(start));
@@ -18398,11 +17923,11 @@ lang_Parser.prototype.argument = function() {
var start = this._peekToken.start;
var expr;
var label = null;
- if ($notnull_bool(this._maybeEat(15/*TokenKind.ELLIPSIS*/))) {
+ if (this._maybeEat(15/*TokenKind.ELLIPSIS*/)) {
label = new lang_Identifier('...', this._makeSpan(start));
}
expr = this.expression();
- if (label == null && $notnull_bool(this._maybeEat(8/*TokenKind.COLON*/))) {
+ if (label == null && this._maybeEat(8/*TokenKind.COLON*/)) {
label = this._makeLabel(expr);
expr = this.expression();
}
@@ -18411,11 +17936,11 @@ lang_Parser.prototype.argument = function() {
lang_Parser.prototype.arguments = function() {
var args = [];
this._eat(2/*TokenKind.LPAREN*/);
- if (!$notnull_bool(this._maybeEat(3/*TokenKind.RPAREN*/))) {
+ if (!this._maybeEat(3/*TokenKind.RPAREN*/)) {
do {
args.add$1(this.argument());
}
- while ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/)))
+ while (this._maybeEat(11/*TokenKind.COMMA*/))
this._eat(3/*TokenKind.RPAREN*/);
}
return args;
@@ -18452,13 +17977,13 @@ lang_Parser.prototype.finishPostfixExpression = function(expr) {
case 9/*TokenKind.ARROW*/:
case 6/*TokenKind.LBRACE*/:
- if ($notnull_bool(this._inInitializers)) return expr;
+ if (this._inInitializers) return expr;
var body = this.functionBody(true);
return this._makeFunction(expr, body);
default:
- if ($notnull_bool(this._peekIdentifier())) {
+ if (this._peekIdentifier()) {
return this.finishPostfixExpression(new DeclaredIdentifier(this._makeType(expr), this.identifier(), this._makeSpan(expr.get$span().start)));
}
else {
@@ -18498,13 +18023,13 @@ lang_Parser.prototype.primary = function() {
case 91/*TokenKind.CONST*/:
this._eat(91/*TokenKind.CONST*/);
- if ($notnull_bool(this._peekKind(4/*TokenKind.LBRACK*/)) || $notnull_bool(this._peekKind(56/*TokenKind.INDEX*/))) {
+ if (this._peekKind(4/*TokenKind.LBRACK*/) || this._peekKind(56/*TokenKind.INDEX*/)) {
return this.finishListLiteral(start, true, null);
}
- else if ($notnull_bool(this._peekKind(6/*TokenKind.LBRACE*/))) {
+ else if (this._peekKind(6/*TokenKind.LBRACE*/)) {
return this.finishMapLiteral(start, true, null);
}
- else if ($notnull_bool(this._peekKind(52/*TokenKind.LT*/))) {
+ else if (this._peekKind(52/*TokenKind.LT*/)) {
return this.finishTypedLiteral(start, true);
}
else {
@@ -18579,7 +18104,7 @@ lang_Parser.prototype.primary = function() {
default:
- if (!$notnull_bool(this._peekIdentifier())) {
+ if (!this._peekIdentifier()) {
this._errorExpected('expression');
}
return new VarExpression(this.identifier(), this._makeSpan(start));
@@ -18590,24 +18115,24 @@ lang_Parser.prototype.stringInterpolation = function() {
var start = this._peekToken.start;
var lits = [];
var startQuote = null, endQuote = null;
- while ($notnull_bool(this._peekKind(66/*TokenKind.INCOMPLETE_STRING*/))) {
+ while (this._peekKind(66/*TokenKind.INCOMPLETE_STRING*/)) {
var token = this._lang_next();
var text = token.get$text();
- if ($notnull_bool(startQuote == null)) {
- if ($notnull_bool(isMultilineString($assert_String(text)))) {
+ if (startQuote == null) {
+ if (isMultilineString(text)) {
endQuote = text.substring$2(0, 3);
- startQuote = $add(endQuote, '\n');
+ startQuote = endQuote + '\n';
}
else {
startQuote = endQuote = text.$index(0);
}
- text = $add(text.substring$2(0, text.length - 1), endQuote);
+ text = text.substring$2(0, text.length - 1) + endQuote;
}
else {
- text = $add($add(startQuote, text.substring$2(0, text.length - 1)), endQuote);
+ text = startQuote + text.substring$2(0, text.length - 1) + endQuote;
}
- lits.add$1(this.makeStringLiteral($assert_String(text), token.get$span()));
- if ($notnull_bool(this._maybeEat(6/*TokenKind.LBRACE*/))) {
+ lits.add$1(this.makeStringLiteral(text, token.get$span()));
+ if (this._maybeEat(6/*TokenKind.LBRACE*/)) {
lits.add$1(this.expression());
this._eat(7/*TokenKind.RBRACE*/);
}
@@ -18617,13 +18142,13 @@ lang_Parser.prototype.stringInterpolation = function() {
}
}
var tok = this._lang_next();
- if ($notnull_bool($ne(tok.kind, 58/*TokenKind.STRING*/))) {
+ if ($ne(tok.kind, 58/*TokenKind.STRING*/)) {
this._errorExpected('interpolated string');
}
- var text = $add(startQuote, tok.get$text());
- lits.add$1(this.makeStringLiteral($assert_String(text), tok.get$span()));
+ var text = startQuote + tok.get$text();
+ lits.add$1(this.makeStringLiteral(text, tok.get$span()));
var span = this._makeSpan(start);
- return new LiteralExpression(lits, this._stringTypeRef((span && span.is$SourceSpan())), '\$\$\$', (span && span.is$SourceSpan()));
+ return new LiteralExpression(lits, this._stringTypeRef(span), '\$\$\$', span);
}
lang_Parser.prototype.makeStringLiteral = function(text, span) {
return new LiteralExpression(text, this._stringTypeRef(span), text, span);
@@ -18634,14 +18159,14 @@ lang_Parser.prototype.stringLiteralExpr = function() {
}
lang_Parser.prototype.maybeStringLiteral = function() {
var kind = this._peek();
- if ($notnull_bool($eq(kind, 58/*TokenKind.STRING*/))) {
+ if ($eq(kind, 58/*TokenKind.STRING*/)) {
return parseStringLiteral(this._lang_next().get$text());
}
- else if ($notnull_bool($eq(kind, 59/*TokenKind.STRING_PART*/))) {
+ else if ($eq(kind, 59/*TokenKind.STRING_PART*/)) {
this._lang_next();
this._errorExpected('string literal, but found interpolated string start');
}
- else if ($notnull_bool($eq(kind, 66/*TokenKind.INCOMPLETE_STRING*/))) {
+ else if ($eq(kind, 66/*TokenKind.INCOMPLETE_STRING*/)) {
this._lang_next();
this._errorExpected('string literal, but found incomplete string');
}
@@ -18650,7 +18175,7 @@ lang_Parser.prototype.maybeStringLiteral = function() {
lang_Parser.prototype._parenOrLambda = function() {
var start = this._peekToken.start;
var args = this.arguments();
- if (!$notnull_bool(this._inInitializers) && ($notnull_bool(this._peekKind(9/*TokenKind.ARROW*/)) || $notnull_bool(this._peekKind(6/*TokenKind.LBRACE*/)))) {
+ if (!this._inInitializers && (this._peekKind(9/*TokenKind.ARROW*/) || this._peekKind(6/*TokenKind.LBRACE*/))) {
var body = this.functionBody(true);
var formals = this._makeFormals(args);
var func = new FunctionDefinition(null, null, null, formals, null, body, this._makeSpan(start));
@@ -18677,7 +18202,7 @@ lang_Parser.prototype._specialIdentifier = function(includeOperators) {
this._eat(15/*TokenKind.ELLIPSIS*/);
this._lang_error('rest no longer supported', this._previousToken.get$span());
- name = $assert_String(this.identifier().get$name());
+ name = this.identifier().get$name();
break;
case 108/*TokenKind.THIS*/:
@@ -18689,9 +18214,9 @@ lang_Parser.prototype._specialIdentifier = function(includeOperators) {
case 76/*TokenKind.GET*/:
- if (!$notnull_bool(includeOperators)) return null;
+ if (!includeOperators) return null;
this._eat(76/*TokenKind.GET*/);
- if ($notnull_bool(this._peekIdentifier())) {
+ if (this._peekIdentifier()) {
name = ('get\$' + this.identifier().get$name() + '');
}
else {
@@ -18701,9 +18226,9 @@ lang_Parser.prototype._specialIdentifier = function(includeOperators) {
case 84/*TokenKind.SET*/:
- if (!$notnull_bool(includeOperators)) return null;
+ if (!includeOperators) return null;
this._eat(84/*TokenKind.SET*/);
- if ($notnull_bool(this._peekIdentifier())) {
+ if (this._peekIdentifier()) {
name = ('set\$' + this.identifier().get$name() + '');
}
else {
@@ -18713,15 +18238,15 @@ lang_Parser.prototype._specialIdentifier = function(includeOperators) {
case 83/*TokenKind.OPERATOR*/:
- if (!$notnull_bool(includeOperators)) return null;
+ if (!includeOperators) return null;
this._eat(83/*TokenKind.OPERATOR*/);
var kind = this._peek();
- if ($notnull_bool($eq(kind, 82/*TokenKind.NEGATE*/))) {
+ if ($eq(kind, 82/*TokenKind.NEGATE*/)) {
name = '\$negate';
this._lang_next();
}
else {
- name = TokenKind.binaryMethodName($assert_num(kind));
+ name = TokenKind.binaryMethodName(kind);
if (name == null) {
name = 'operator';
}
@@ -18746,7 +18271,7 @@ lang_Parser.prototype.declaredIdentifier = function(includeOperators) {
myType = this.type(0);
name = this._specialIdentifier(includeOperators);
if (name == null) {
- if ($notnull_bool(this._peekIdentifier())) {
+ if (this._peekIdentifier()) {
name = this.identifier();
}
else if ((myType instanceof NameTypeReference) && myType.names == null) {
@@ -18778,30 +18303,29 @@ lang_Parser.parseHex = function(hex) {
for (var i = 0;
i < hex.length; i++) {
var digit = lang_Parser._hexDigit(hex.charCodeAt(i));
- $assert($ne(digit, -1), "digit != -1", "parser.dart", 1259, 14);
- result = (result << 4) + $assert_num(digit);
+ result = (result << 4) + digit;
}
- return $assert_num(result);
+ return result;
}
lang_Parser.prototype.finishNewExpression = function(start, isConst) {
var type = this.type(0);
var name = null;
- if ($notnull_bool(this._maybeEat(14/*TokenKind.DOT*/))) {
+ if (this._maybeEat(14/*TokenKind.DOT*/)) {
name = this.identifier();
}
var args = this.arguments();
return new lang_NewExpression(isConst, type, name, args, this._makeSpan(start));
}
lang_Parser.prototype.finishListLiteral = function(start, isConst, type) {
- if ($notnull_bool(this._maybeEat(56/*TokenKind.INDEX*/))) {
+ if (this._maybeEat(56/*TokenKind.INDEX*/)) {
return new ListExpression(isConst, type, [], this._makeSpan(start));
}
var values = [];
this._eat(4/*TokenKind.LBRACK*/);
- while (!$notnull_bool(this._maybeEat(5/*TokenKind.RBRACK*/))) {
- if ($notnull_bool(this.isPrematureEndOfFile())) break;
+ while (!this._maybeEat(5/*TokenKind.RBRACK*/)) {
+ if (this.isPrematureEndOfFile()) break;
values.add$1(this.expression());
- if (!$notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/))) {
+ if (!this._maybeEat(11/*TokenKind.COMMA*/)) {
this._eat(5/*TokenKind.RBRACK*/);
break;
}
@@ -18811,12 +18335,12 @@ lang_Parser.prototype.finishListLiteral = function(start, isConst, type) {
lang_Parser.prototype.finishMapLiteral = function(start, isConst, type) {
var items = [];
this._eat(6/*TokenKind.LBRACE*/);
- while (!$notnull_bool(this._maybeEat(7/*TokenKind.RBRACE*/))) {
- if ($notnull_bool(this.isPrematureEndOfFile())) break;
+ while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
+ if (this.isPrematureEndOfFile()) break;
items.add$1(this.expression());
this._eat(8/*TokenKind.COLON*/);
items.add$1(this.expression());
- if (!$notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/))) {
+ if (!this._maybeEat(11/*TokenKind.COMMA*/)) {
this._eat(7/*TokenKind.RBRACE*/);
break;
}
@@ -18825,13 +18349,13 @@ lang_Parser.prototype.finishMapLiteral = function(start, isConst, type) {
}
lang_Parser.prototype.finishTypedLiteral = function(start, isConst) {
var span = this._makeSpan(start);
- var typeToBeNamedLater = new NameTypeReference(false, null, null, (span && span.is$SourceSpan()));
- var genericType = this.addTypeArguments((typeToBeNamedLater && typeToBeNamedLater.is$TypeReference()), 0);
- if ($notnull_bool(this._peekKind(4/*TokenKind.LBRACK*/)) || $notnull_bool(this._peekKind(56/*TokenKind.INDEX*/))) {
- return this.finishListLiteral(start, isConst, (genericType && genericType.is$TypeReference()));
+ var typeToBeNamedLater = new NameTypeReference(false, null, null, span);
+ var genericType = this.addTypeArguments(typeToBeNamedLater, 0);
+ if (this._peekKind(4/*TokenKind.LBRACK*/) || this._peekKind(56/*TokenKind.INDEX*/)) {
+ return this.finishListLiteral(start, isConst, genericType);
}
- else if ($notnull_bool(this._peekKind(6/*TokenKind.LBRACE*/))) {
- return this.finishMapLiteral(start, isConst, (genericType && genericType.is$TypeReference()));
+ else if (this._peekKind(6/*TokenKind.LBRACE*/)) {
+ return this.finishMapLiteral(start, isConst, genericType);
}
else {
this._errorExpected('array or map literal');
@@ -18863,7 +18387,7 @@ lang_Parser.prototype.typeParameter = function() {
var start = this._peekToken.start;
var name = this.identifier();
var myType = null;
- if ($notnull_bool(this._maybeEat(74/*TokenKind.EXTENDS*/))) {
+ if (this._maybeEat(74/*TokenKind.EXTENDS*/)) {
myType = this.type(1);
}
return new TypeParameter(name, myType, this._makeSpan(start));
@@ -18880,8 +18404,8 @@ lang_Parser.prototype.typeParameters = function() {
break;
}
}
- while ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/)))
- if (!$notnull_bool(closed)) {
+ while (this._maybeEat(11/*TokenKind.COMMA*/))
+ if (!closed) {
this._eat(53/*TokenKind.GT*/);
}
return ret;
@@ -18890,13 +18414,13 @@ lang_Parser.prototype.get$typeParameters = function() {
return lang_Parser.prototype.typeParameters.bind(this);
}
lang_Parser.prototype._eatClosingAngle = function(depth) {
- if ($notnull_bool(this._maybeEat(53/*TokenKind.GT*/))) {
+ if (this._maybeEat(53/*TokenKind.GT*/)) {
return depth;
}
- else if (depth > 0 && $notnull_bool(this._maybeEat(40/*TokenKind.SAR*/))) {
+ else if (depth > 0 && this._maybeEat(40/*TokenKind.SAR*/)) {
return depth - 1;
}
- else if (depth > 1 && $notnull_bool(this._maybeEat(41/*TokenKind.SHR*/))) {
+ else if (depth > 1 && this._maybeEat(41/*TokenKind.SHR*/)) {
return depth - 2;
}
else {
@@ -18918,22 +18442,22 @@ lang_Parser.prototype._finishTypeArguments = function(baseType, depth, types) {
break;
}
}
- while ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/)))
+ while (this._maybeEat(11/*TokenKind.COMMA*/))
if (delta >= 0) {
- depth -= $assert_num(delta);
+ depth = depth - delta;
}
else {
depth = this._eatClosingAngle(depth);
}
var span = this._makeSpan(baseType.span.start);
- return new GenericTypeReference(baseType, types, depth, (span && span.is$SourceSpan()));
+ return new GenericTypeReference(baseType, types, depth, span);
}
lang_Parser.prototype.typeList = function() {
var types = [];
do {
types.add$1(this.type(0));
}
- while ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/)))
+ while (this._maybeEat(11/*TokenKind.COMMA*/))
return types;
}
lang_Parser.prototype.type = function(depth) {
@@ -18964,21 +18488,18 @@ lang_Parser.prototype.type = function(depth) {
break;
}
- while ($notnull_bool(this._maybeEat(14/*TokenKind.DOT*/))) {
+ while (this._maybeEat(14/*TokenKind.DOT*/)) {
if (names == null) names = [];
names.add$1(this.identifier());
}
var typeRef = new NameTypeReference(isFinal, name, names, this._makeSpan(start));
- if ($notnull_bool(this._peekKind(52/*TokenKind.LT*/))) {
- return this.addTypeArguments((typeRef && typeRef.is$TypeReference()), depth);
+ if (this._peekKind(52/*TokenKind.LT*/)) {
+ return this.addTypeArguments(typeRef, depth);
}
else {
return typeRef;
}
}
-lang_Parser.prototype.get$type = function() {
- return lang_Parser.prototype.type.bind(this);
-}
lang_Parser.prototype.formalParameter = function(inOptionalBlock) {
var start = this._peekToken.start;
var isThis = false;
@@ -18987,18 +18508,18 @@ lang_Parser.prototype.formalParameter = function(inOptionalBlock) {
var type = di.type;
var name = di.get$name();
var value = null;
- if ($notnull_bool(this._maybeEat(20/*TokenKind.ASSIGN*/))) {
- if (!$notnull_bool(inOptionalBlock)) {
+ if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
+ if (!inOptionalBlock) {
this._lang_error('default values only allowed inside [optional] section');
}
value = this.expression();
}
- else if ($notnull_bool(this._peekKind(2/*TokenKind.LPAREN*/))) {
+ else if (this._peekKind(2/*TokenKind.LPAREN*/)) {
var formals = this.formalParameterList();
var func = new FunctionDefinition(null, type, name, formals, null, null, this._makeSpan(start));
type = new FunctionTypeReference(false, func, func.get$span());
}
- if ($notnull_bool(inOptionalBlock) && $notnull_bool(value == null)) {
+ if (inOptionalBlock && value == null) {
value = new NullExpression(this._makeSpan(start));
}
return new FormalNode(isThis, isRest, type, name, value, this._makeSpan(start));
@@ -19007,21 +18528,21 @@ lang_Parser.prototype.formalParameterList = function() {
this._eat(2/*TokenKind.LPAREN*/);
var formals = [];
var inOptionalBlock = false;
- if (!$notnull_bool(this._maybeEat(3/*TokenKind.RPAREN*/))) {
- if ($notnull_bool(this._maybeEat(4/*TokenKind.LBRACK*/))) {
+ if (!this._maybeEat(3/*TokenKind.RPAREN*/)) {
+ if (this._maybeEat(4/*TokenKind.LBRACK*/)) {
inOptionalBlock = true;
}
- formals.add$1(this.formalParameter($assert_bool(inOptionalBlock)));
- while ($notnull_bool(this._maybeEat(11/*TokenKind.COMMA*/))) {
- if ($notnull_bool(this._maybeEat(4/*TokenKind.LBRACK*/))) {
- if ($notnull_bool(inOptionalBlock)) {
+ formals.add$1(this.formalParameter(inOptionalBlock));
+ while (this._maybeEat(11/*TokenKind.COMMA*/)) {
+ if (this._maybeEat(4/*TokenKind.LBRACK*/)) {
+ if (inOptionalBlock) {
this._lang_error('already inside an optional block', this._previousToken.get$span());
}
inOptionalBlock = true;
}
- formals.add$1(this.formalParameter($assert_bool(inOptionalBlock)));
+ formals.add$1(this.formalParameter(inOptionalBlock));
}
- if ($notnull_bool(inOptionalBlock)) {
+ if (inOptionalBlock) {
this._eat(5/*TokenKind.RBRACK*/);
}
this._eat(3/*TokenKind.RPAREN*/);
@@ -19030,7 +18551,7 @@ lang_Parser.prototype.formalParameterList = function() {
}
lang_Parser.prototype.identifier = function() {
var tok = this._lang_next();
- if (!$notnull_bool(TokenKind.isIdentifier($assert_num(tok.kind)))) {
+ if (!TokenKind.isIdentifier(tok.kind)) {
this._lang_error(('expected identifier, but found ' + tok + ''), tok.get$span());
}
return new lang_Identifier(tok.get$text(), this._makeSpan(tok.start));
@@ -19051,7 +18572,7 @@ lang_Parser.prototype._makeFunction = function(expr, body) {
}
var formals = this._makeFormals(expr.get$arguments());
var span = new SourceSpan(expr.get$span().file, expr.get$span().start, body.get$span().end);
- var func = new FunctionDefinition(null, type, name, formals, null, body, (span && span.is$SourceSpan()));
+ var func = new FunctionDefinition(null, type, name, formals, null, body, span);
return new LambdaExpression(func, func.get$span());
}
else {
@@ -19059,18 +18580,17 @@ lang_Parser.prototype._makeFunction = function(expr, body) {
}
}
lang_Parser.prototype._makeFormal = function(expr) {
- var $0;
if ((expr instanceof VarExpression)) {
return new FormalNode(false, false, null, expr.get$name(), null, expr.get$span());
}
else if ((expr instanceof DeclaredIdentifier)) {
return new FormalNode(false, false, expr.type, expr.get$name(), null, expr.get$span());
}
- else if ($notnull_bool(this._isBin(expr, 20/*TokenKind.ASSIGN*/)) && ((expr.x instanceof DeclaredIdentifier))) {
- var di = (($0 = expr.x) && $0.is$DeclaredIdentifier());
+ else if (this._isBin(expr, 20/*TokenKind.ASSIGN*/) && ((expr.x instanceof DeclaredIdentifier))) {
+ var di = expr.x;
return new FormalNode(false, false, di.type, di.name, expr.y, expr.get$span());
}
- else if ($notnull_bool(this._isBin(expr, 52/*TokenKind.LT*/))) {
+ else if (this._isBin(expr, 52/*TokenKind.LT*/)) {
return null;
}
else if ((expr instanceof ListExpression)) {
@@ -19081,10 +18601,10 @@ lang_Parser.prototype._makeFormal = function(expr) {
}
}
lang_Parser.prototype._makeFormalsFromList = function(expr) {
- if ($notnull_bool(expr.get$isConst())) {
+ if (expr.get$isConst()) {
this._lang_error('expected formal, but found "const"', expr.get$span());
}
- else if ($notnull_bool($ne(expr.type, null))) {
+ else if ($ne(expr.type, null)) {
this._lang_error('expected formal, but found generic type arguments', expr.type.get$span());
}
return this._makeFormalsFromExpressions(expr.values, false);
@@ -19102,23 +18622,22 @@ lang_Parser.prototype._makeFormals = function(arguments) {
return this._makeFormalsFromExpressions(expressions, true);
}
lang_Parser.prototype._makeFormalsFromExpressions = function(expressions, allowOptional) {
- var $0;
var formals = [];
for (var i = 0;
i < expressions.length; i++) {
var formal = this._makeFormal(expressions.$index(i));
- if ($notnull_bool(formal == null)) {
+ if (formal == null) {
var baseType = this._makeType(expressions.$index(i).x);
var typeParams = [this._makeType(expressions.$index(i).y)];
i++;
while (i < expressions.length) {
var expr = expressions.$index(i++);
- if ($notnull_bool(this._isBin(expr, 53/*TokenKind.GT*/))) {
+ if (this._isBin(expr, 53/*TokenKind.GT*/)) {
typeParams.add$1(this._makeType(expr.x));
var type = new GenericTypeReference(baseType, typeParams, 0, this._makeSpan(baseType.get$span().start));
var name = null;
if ((expr.y instanceof VarExpression)) {
- var ve = (($0 = expr.y) && $0.is$VarExpression());
+ var ve = expr.y;
name = ve.name;
}
else {
@@ -19135,7 +18654,7 @@ lang_Parser.prototype._makeFormalsFromExpressions = function(expressions, allowO
}
else if (!!(formal && formal.is$List)) {
formals.addAll$1(formal);
- if (!$notnull_bool(allowOptional)) {
+ if (!allowOptional) {
this._lang_error('unexpected nested optional formal', expressions.$index(i).get$span());
}
}
@@ -19176,7 +18695,7 @@ function IncompleteSourceException(token) {
}
IncompleteSourceException.prototype.toString = function() {
if (this.token.get$span() == null) return ('Unexpected ' + this.token + '');
- return $assert_String(this.token.get$span().toMessageString(('Unexpected ' + this.token + '')));
+ return this.token.get$span().toMessageString(('Unexpected ' + this.token + ''));
}
IncompleteSourceException.prototype.toString$0 = function() {
return this.toString();
@@ -19186,11 +18705,10 @@ function lang_Node(span) {
this.span = span;
// Initializers done
}
-lang_Node.prototype.is$lang_Node = function(){return this;};
lang_Node.prototype.get$span = function() { return this.span; };
lang_Node.prototype.set$span = function(value) { return this.span = value; };
lang_Node.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for Definition **************
function Definition(span) {
@@ -19198,7 +18716,6 @@ function Definition(span) {
// Initializers done
}
$inherits(Definition, lang_Statement);
-Definition.prototype.is$Definition = function(){return this;};
Definition.prototype.get$typeParameters = function() {
return null;
}
@@ -19211,14 +18728,12 @@ function lang_Statement(span) {
// Initializers done
}
$inherits(lang_Statement, lang_Node);
-lang_Statement.prototype.is$lang_Statement = function(){return this;};
// ********** Code for lang_Expression **************
function lang_Expression(span) {
lang_Node.call(this, span);
// Initializers done
}
$inherits(lang_Expression, lang_Node);
-lang_Expression.prototype.is$lang_Expression = function(){return this;};
// ********** Code for TypeReference **************
function TypeReference(span, type) {
this.type = type;
@@ -19226,14 +18741,11 @@ function TypeReference(span, type) {
// Initializers done
}
$inherits(TypeReference, lang_Node);
-TypeReference.prototype.is$TypeReference = function(){return this;};
-TypeReference.prototype.get$type = function() { return this.type; };
-TypeReference.prototype.set$type = function(value) { return this.type = value; };
TypeReference.prototype.visit = function(visitor) {
return visitor.visitTypeReference(this);
}
TypeReference.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for DirectiveDefinition **************
function DirectiveDefinition(name, arguments, span) {
@@ -19251,7 +18763,7 @@ DirectiveDefinition.prototype.visit = function(visitor) {
return visitor.visitDirectiveDefinition(this);
}
DirectiveDefinition.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for TypeDefinition **************
function TypeDefinition(isClass, name, typeParameters, extendsTypes, implementsTypes, nativeType, factoryType, body, span) {
@@ -19267,7 +18779,6 @@ function TypeDefinition(isClass, name, typeParameters, extendsTypes, implementsT
// Initializers done
}
$inherits(TypeDefinition, Definition);
-TypeDefinition.prototype.is$TypeDefinition = function(){return this;};
TypeDefinition.prototype.get$isClass = function() { return this.isClass; };
TypeDefinition.prototype.set$isClass = function(value) { return this.isClass = value; };
TypeDefinition.prototype.get$name = function() { return this.name; };
@@ -19280,7 +18791,7 @@ TypeDefinition.prototype.visit = function(visitor) {
return visitor.visitTypeDefinition(this);
}
TypeDefinition.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for FunctionTypeDefinition **************
function FunctionTypeDefinition(func, typeParameters, span) {
@@ -19296,7 +18807,7 @@ FunctionTypeDefinition.prototype.visit = function(visitor) {
return visitor.visitFunctionTypeDefinition(this);
}
FunctionTypeDefinition.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for VariableDefinition **************
function VariableDefinition(modifiers, type, names, values, span) {
@@ -19308,13 +18819,11 @@ function VariableDefinition(modifiers, type, names, values, span) {
// Initializers done
}
$inherits(VariableDefinition, Definition);
-VariableDefinition.prototype.get$type = function() { return this.type; };
-VariableDefinition.prototype.set$type = function(value) { return this.type = value; };
VariableDefinition.prototype.visit = function(visitor) {
return visitor.visitVariableDefinition(this);
}
VariableDefinition.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for FunctionDefinition **************
function FunctionDefinition(modifiers, returnType, name, formals, initializers, body, span) {
@@ -19328,7 +18837,6 @@ function FunctionDefinition(modifiers, returnType, name, formals, initializers,
// Initializers done
}
$inherits(FunctionDefinition, Definition);
-FunctionDefinition.prototype.is$FunctionDefinition = function(){return this;};
FunctionDefinition.prototype.get$returnType = function() { return this.returnType; };
FunctionDefinition.prototype.set$returnType = function(value) { return this.returnType = value; };
FunctionDefinition.prototype.get$name = function() { return this.name; };
@@ -19337,7 +18845,7 @@ FunctionDefinition.prototype.visit = function(visitor) {
return visitor.visitFunctionDefinition(this);
}
FunctionDefinition.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ReturnStatement **************
function ReturnStatement(value, span) {
@@ -19352,7 +18860,7 @@ ReturnStatement.prototype.visit = function(visitor) {
return visitor.visitReturnStatement(this);
}
ReturnStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ThrowStatement **************
function ThrowStatement(value, span) {
@@ -19367,7 +18875,7 @@ ThrowStatement.prototype.visit = function(visitor) {
return visitor.visitThrowStatement(this);
}
ThrowStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for AssertStatement **************
function AssertStatement(test, span) {
@@ -19380,7 +18888,7 @@ AssertStatement.prototype.visit = function(visitor) {
return visitor.visitAssertStatement(this);
}
AssertStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for BreakStatement **************
function BreakStatement(label, span) {
@@ -19393,7 +18901,7 @@ BreakStatement.prototype.visit = function(visitor) {
return visitor.visitBreakStatement(this);
}
BreakStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ContinueStatement **************
function ContinueStatement(label, span) {
@@ -19406,7 +18914,7 @@ ContinueStatement.prototype.visit = function(visitor) {
return visitor.visitContinueStatement(this);
}
ContinueStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for IfStatement **************
function IfStatement(test, trueBranch, falseBranch, span) {
@@ -19421,7 +18929,7 @@ IfStatement.prototype.visit = function(visitor) {
return visitor.visitIfStatement(this);
}
IfStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for WhileStatement **************
function WhileStatement(test, body, span) {
@@ -19435,7 +18943,7 @@ WhileStatement.prototype.visit = function(visitor) {
return visitor.visitWhileStatement(this);
}
WhileStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for DoStatement **************
function DoStatement(body, test, span) {
@@ -19449,7 +18957,7 @@ DoStatement.prototype.visit = function(visitor) {
return visitor.visitDoStatement(this);
}
DoStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ForStatement **************
function ForStatement(init, test, step, body, span) {
@@ -19465,7 +18973,7 @@ ForStatement.prototype.visit = function(visitor) {
return visitor.visitForStatement(this);
}
ForStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ForInStatement **************
function ForInStatement(item, list, body, span) {
@@ -19480,7 +18988,7 @@ ForInStatement.prototype.visit = function(visitor) {
return visitor.visitForInStatement(this);
}
ForInStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for TryStatement **************
function TryStatement(body, catches, finallyBlock, span) {
@@ -19495,7 +19003,7 @@ TryStatement.prototype.visit = function(visitor) {
return visitor.visitTryStatement(this);
}
TryStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for SwitchStatement **************
function SwitchStatement(test, cases, span) {
@@ -19509,7 +19017,7 @@ SwitchStatement.prototype.visit = function(visitor) {
return visitor.visitSwitchStatement(this);
}
SwitchStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for BlockStatement **************
function BlockStatement(body, span) {
@@ -19518,12 +19026,11 @@ function BlockStatement(body, span) {
// Initializers done
}
$inherits(BlockStatement, lang_Statement);
-BlockStatement.prototype.is$BlockStatement = function(){return this;};
BlockStatement.prototype.visit = function(visitor) {
return visitor.visitBlockStatement(this);
}
BlockStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for LabeledStatement **************
function LabeledStatement(name, body, span) {
@@ -19539,7 +19046,7 @@ LabeledStatement.prototype.visit = function(visitor) {
return visitor.visitLabeledStatement(this);
}
LabeledStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for lang_ExpressionStatement **************
function lang_ExpressionStatement(body, span) {
@@ -19552,7 +19059,7 @@ lang_ExpressionStatement.prototype.visit = function(visitor) {
return visitor.visitExpressionStatement(this);
}
lang_ExpressionStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for EmptyStatement **************
function EmptyStatement(span) {
@@ -19564,7 +19071,7 @@ EmptyStatement.prototype.visit = function(visitor) {
return visitor.visitEmptyStatement(this);
}
EmptyStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for DietStatement **************
function DietStatement(span) {
@@ -19576,7 +19083,7 @@ DietStatement.prototype.visit = function(visitor) {
return visitor.visitDietStatement(this);
}
DietStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for NativeStatement **************
function NativeStatement(body, span) {
@@ -19589,7 +19096,7 @@ NativeStatement.prototype.visit = function(visitor) {
return visitor.visitNativeStatement(this);
}
NativeStatement.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for LambdaExpression **************
function LambdaExpression(func, span) {
@@ -19598,12 +19105,11 @@ function LambdaExpression(func, span) {
// Initializers done
}
$inherits(LambdaExpression, lang_Expression);
-LambdaExpression.prototype.is$LambdaExpression = function(){return this;};
LambdaExpression.prototype.visit = function(visitor) {
return visitor.visitLambdaExpression(this);
}
LambdaExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for CallExpression **************
function CallExpression(target, arguments, span) {
@@ -19613,14 +19119,13 @@ function CallExpression(target, arguments, span) {
// Initializers done
}
$inherits(CallExpression, lang_Expression);
-CallExpression.prototype.is$CallExpression = function(){return this;};
CallExpression.prototype.get$arguments = function() { return this.arguments; };
CallExpression.prototype.set$arguments = function(value) { return this.arguments = value; };
CallExpression.prototype.visit = function(visitor) {
return visitor.visitCallExpression(this);
}
CallExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for IndexExpression **************
function IndexExpression(target, index, span) {
@@ -19630,12 +19135,11 @@ function IndexExpression(target, index, span) {
// Initializers done
}
$inherits(IndexExpression, lang_Expression);
-IndexExpression.prototype.is$IndexExpression = function(){return this;};
IndexExpression.prototype.visit = function(visitor) {
return visitor.visitIndexExpression(this);
}
IndexExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for BinaryExpression **************
function BinaryExpression(op, x, y, span) {
@@ -19646,12 +19150,11 @@ function BinaryExpression(op, x, y, span) {
// Initializers done
}
$inherits(BinaryExpression, lang_Expression);
-BinaryExpression.prototype.is$BinaryExpression = function(){return this;};
BinaryExpression.prototype.visit = function(visitor) {
return visitor.visitBinaryExpression(this);
}
BinaryExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for UnaryExpression **************
function UnaryExpression(op, self, span) {
@@ -19665,7 +19168,7 @@ UnaryExpression.prototype.visit = function(visitor) {
return visitor.visitUnaryExpression(this);
}
UnaryExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for PostfixExpression **************
function PostfixExpression(body, op, span) {
@@ -19675,12 +19178,11 @@ function PostfixExpression(body, op, span) {
// Initializers done
}
$inherits(PostfixExpression, lang_Expression);
-PostfixExpression.prototype.is$PostfixExpression = function(){return this;};
PostfixExpression.prototype.visit = function(visitor) {
return visitor.visitPostfixExpression$1(this);
}
PostfixExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for lang_NewExpression **************
function lang_NewExpression(isConst, type, name, arguments, span) {
@@ -19694,8 +19196,6 @@ function lang_NewExpression(isConst, type, name, arguments, span) {
$inherits(lang_NewExpression, lang_Expression);
lang_NewExpression.prototype.get$isConst = function() { return this.isConst; };
lang_NewExpression.prototype.set$isConst = function(value) { return this.isConst = value; };
-lang_NewExpression.prototype.get$type = function() { return this.type; };
-lang_NewExpression.prototype.set$type = function(value) { return this.type = value; };
lang_NewExpression.prototype.get$name = function() { return this.name; };
lang_NewExpression.prototype.set$name = function(value) { return this.name = value; };
lang_NewExpression.prototype.get$arguments = function() { return this.arguments; };
@@ -19704,7 +19204,7 @@ lang_NewExpression.prototype.visit = function(visitor) {
return visitor.visitNewExpression(this);
}
lang_NewExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ListExpression **************
function ListExpression(isConst, type, values, span) {
@@ -19717,13 +19217,11 @@ function ListExpression(isConst, type, values, span) {
$inherits(ListExpression, lang_Expression);
ListExpression.prototype.get$isConst = function() { return this.isConst; };
ListExpression.prototype.set$isConst = function(value) { return this.isConst = value; };
-ListExpression.prototype.get$type = function() { return this.type; };
-ListExpression.prototype.set$type = function(value) { return this.type = value; };
ListExpression.prototype.visit = function(visitor) {
return visitor.visitListExpression(this);
}
ListExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for MapExpression **************
function MapExpression(isConst, type, items, span) {
@@ -19736,13 +19234,11 @@ function MapExpression(isConst, type, items, span) {
$inherits(MapExpression, lang_Expression);
MapExpression.prototype.get$isConst = function() { return this.isConst; };
MapExpression.prototype.set$isConst = function(value) { return this.isConst = value; };
-MapExpression.prototype.get$type = function() { return this.type; };
-MapExpression.prototype.set$type = function(value) { return this.type = value; };
MapExpression.prototype.visit = function(visitor) {
return visitor.visitMapExpression(this);
}
MapExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ConditionalExpression **************
function ConditionalExpression(test, trueBranch, falseBranch, span) {
@@ -19757,7 +19253,7 @@ ConditionalExpression.prototype.visit = function(visitor) {
return visitor.visitConditionalExpression(this);
}
ConditionalExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for IsExpression **************
function IsExpression(isTrue, x, type, span) {
@@ -19768,13 +19264,11 @@ function IsExpression(isTrue, x, type, span) {
// Initializers done
}
$inherits(IsExpression, lang_Expression);
-IsExpression.prototype.get$type = function() { return this.type; };
-IsExpression.prototype.set$type = function(value) { return this.type = value; };
IsExpression.prototype.visit = function(visitor) {
return visitor.visitIsExpression(this);
}
IsExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ParenExpression **************
function ParenExpression(body, span) {
@@ -19787,7 +19281,7 @@ ParenExpression.prototype.visit = function(visitor) {
return visitor.visitParenExpression(this);
}
ParenExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for DotExpression **************
function DotExpression(self, name, span) {
@@ -19797,14 +19291,13 @@ function DotExpression(self, name, span) {
// Initializers done
}
$inherits(DotExpression, lang_Expression);
-DotExpression.prototype.is$DotExpression = function(){return this;};
DotExpression.prototype.get$name = function() { return this.name; };
DotExpression.prototype.set$name = function(value) { return this.name = value; };
DotExpression.prototype.visit = function(visitor) {
return visitor.visitDotExpression(this);
}
DotExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for VarExpression **************
function VarExpression(name, span) {
@@ -19813,14 +19306,13 @@ function VarExpression(name, span) {
// Initializers done
}
$inherits(VarExpression, lang_Expression);
-VarExpression.prototype.is$VarExpression = function(){return this;};
VarExpression.prototype.get$name = function() { return this.name; };
VarExpression.prototype.set$name = function(value) { return this.name = value; };
VarExpression.prototype.visit = function(visitor) {
return visitor.visitVarExpression(this);
}
VarExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ThisExpression **************
function ThisExpression(span) {
@@ -19832,7 +19324,7 @@ ThisExpression.prototype.visit = function(visitor) {
return visitor.visitThisExpression(this);
}
ThisExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for SuperExpression **************
function SuperExpression(span) {
@@ -19844,7 +19336,7 @@ SuperExpression.prototype.visit = function(visitor) {
return visitor.visitSuperExpression(this);
}
SuperExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for NullExpression **************
function NullExpression(span) {
@@ -19856,7 +19348,7 @@ NullExpression.prototype.visit = function(visitor) {
return visitor.visitNullExpression(this);
}
NullExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for LiteralExpression **************
function LiteralExpression(value, type, text, span) {
@@ -19869,15 +19361,13 @@ function LiteralExpression(value, type, text, span) {
$inherits(LiteralExpression, lang_Expression);
LiteralExpression.prototype.get$value = function() { return this.value; };
LiteralExpression.prototype.set$value = function(value) { return this.value = value; };
-LiteralExpression.prototype.get$type = function() { return this.type; };
-LiteralExpression.prototype.set$type = function(value) { return this.type = value; };
LiteralExpression.prototype.get$text = function() { return this.text; };
LiteralExpression.prototype.set$text = function(value) { return this.text = value; };
LiteralExpression.prototype.visit = function(visitor) {
return visitor.visitLiteralExpression(this);
}
LiteralExpression.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for NameTypeReference **************
function NameTypeReference(isFinal, name, names, span) {
@@ -19888,14 +19378,13 @@ function NameTypeReference(isFinal, name, names, span) {
// Initializers done
}
$inherits(NameTypeReference, TypeReference);
-NameTypeReference.prototype.is$NameTypeReference = function(){return this;};
NameTypeReference.prototype.get$name = function() { return this.name; };
NameTypeReference.prototype.set$name = function(value) { return this.name = value; };
NameTypeReference.prototype.visit = function(visitor) {
return visitor.visitNameTypeReference(this);
}
NameTypeReference.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for GenericTypeReference **************
function GenericTypeReference(baseType, typeArguments, depth, span) {
@@ -19906,12 +19395,11 @@ function GenericTypeReference(baseType, typeArguments, depth, span) {
// Initializers done
}
$inherits(GenericTypeReference, TypeReference);
-GenericTypeReference.prototype.is$GenericTypeReference = function(){return this;};
GenericTypeReference.prototype.visit = function(visitor) {
return visitor.visitGenericTypeReference(this);
}
GenericTypeReference.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for FunctionTypeReference **************
function FunctionTypeReference(isFinal, func, span) {
@@ -19921,12 +19409,11 @@ function FunctionTypeReference(isFinal, func, span) {
// Initializers done
}
$inherits(FunctionTypeReference, TypeReference);
-FunctionTypeReference.prototype.is$FunctionTypeReference = function(){return this;};
FunctionTypeReference.prototype.visit = function(visitor) {
return visitor.visitFunctionTypeReference(this);
}
FunctionTypeReference.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for ArgumentNode **************
function ArgumentNode(label, value, span) {
@@ -19936,14 +19423,13 @@ function ArgumentNode(label, value, span) {
// Initializers done
}
$inherits(ArgumentNode, lang_Node);
-ArgumentNode.prototype.is$ArgumentNode = function(){return this;};
ArgumentNode.prototype.get$value = function() { return this.value; };
ArgumentNode.prototype.set$value = function(value) { return this.value = value; };
ArgumentNode.prototype.visit = function(visitor) {
return visitor.visitArgumentNode(this);
}
ArgumentNode.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for FormalNode **************
function FormalNode(isThis, isRest, type, name, value, span) {
@@ -19956,8 +19442,6 @@ function FormalNode(isThis, isRest, type, name, value, span) {
// Initializers done
}
$inherits(FormalNode, lang_Node);
-FormalNode.prototype.get$type = function() { return this.type; };
-FormalNode.prototype.set$type = function(value) { return this.type = value; };
FormalNode.prototype.get$name = function() { return this.name; };
FormalNode.prototype.set$name = function(value) { return this.name = value; };
FormalNode.prototype.get$value = function() { return this.value; };
@@ -19966,7 +19450,7 @@ FormalNode.prototype.visit = function(visitor) {
return visitor.visitFormalNode(this);
}
FormalNode.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for CatchNode **************
function CatchNode(exception, trace, body, span) {
@@ -19983,7 +19467,7 @@ CatchNode.prototype.visit = function(visitor) {
return visitor.visitCatchNode(this);
}
CatchNode.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for CaseNode **************
function CaseNode(label, cases, statements, span) {
@@ -19998,7 +19482,7 @@ CaseNode.prototype.visit = function(visitor) {
return visitor.visitCaseNode(this);
}
CaseNode.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for TypeParameter **************
function TypeParameter(name, extendsType, span) {
@@ -20014,7 +19498,7 @@ TypeParameter.prototype.visit = function(visitor) {
return visitor.visitTypeParameter(this);
}
TypeParameter.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for lang_Identifier **************
function lang_Identifier(name, span) {
@@ -20023,14 +19507,13 @@ function lang_Identifier(name, span) {
// Initializers done
}
$inherits(lang_Identifier, lang_Node);
-lang_Identifier.prototype.is$lang_Identifier = function(){return this;};
lang_Identifier.prototype.get$name = function() { return this.name; };
lang_Identifier.prototype.set$name = function(value) { return this.name = value; };
lang_Identifier.prototype.visit = function(visitor) {
return visitor.visitIdentifier(this);
}
lang_Identifier.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for DeclaredIdentifier **************
function DeclaredIdentifier(type, name, span) {
@@ -20040,16 +19523,13 @@ function DeclaredIdentifier(type, name, span) {
// Initializers done
}
$inherits(DeclaredIdentifier, lang_Expression);
-DeclaredIdentifier.prototype.is$DeclaredIdentifier = function(){return this;};
-DeclaredIdentifier.prototype.get$type = function() { return this.type; };
-DeclaredIdentifier.prototype.set$type = function(value) { return this.type = value; };
DeclaredIdentifier.prototype.get$name = function() { return this.name; };
DeclaredIdentifier.prototype.set$name = function(value) { return this.name = value; };
DeclaredIdentifier.prototype.visit = function(visitor) {
return visitor.visitDeclaredIdentifier(this);
}
DeclaredIdentifier.prototype.visit$1 = function($0) {
- return this.visit(($0 && $0.is$TreeVisitor()));
+ return this.visit($0);
};
// ********** Code for lang_Type **************
function lang_Type(name) {
@@ -20057,18 +19537,15 @@ function lang_Type(name) {
this.isTested = false;
// Initializers done
}
-lang_Type.prototype.is$lang_Type = function(){return this;};
-lang_Type.prototype.is$Named = function(){return this;};
lang_Type.prototype.get$name = function() { return this.name; };
lang_Type.prototype.markUsed = function() {
}
lang_Type.prototype.get$typeMember = function() {
- var $0;
if (this._typeMember == null) {
- this._typeMember = new TypeMember((this && this.is$DefinedType()));
+ this._typeMember = new TypeMember(this);
}
- return (($0 = this._typeMember) && $0.is$TypeMember());
+ return this._typeMember;
}
lang_Type.prototype.getMember = function(name) {
return null;
@@ -20104,13 +19581,13 @@ lang_Type.prototype.get$isNullable = function() {
return true;
}
lang_Type.prototype.get$isVarOrFunction = function() {
- return $notnull_bool(this.get$isVar()) || $notnull_bool(this.get$isFunction());
+ return this.get$isVar() || this.get$isFunction();
}
lang_Type.prototype.getCallMethod = function() {
return null;
}
lang_Type.prototype.get$isClosed = function() {
- return $notnull_bool(this.get$isString()) || $notnull_bool(this.get$isBool()) || $notnull_bool(this.get$isNum()) || $notnull_bool(this.get$isFunction()) || $notnull_bool(this.get$isVar());
+ return this.get$isString() || this.get$isBool() || this.get$isNum() || this.get$isFunction() || this.get$isVar();
}
lang_Type.prototype.get$isUsed = function() {
return false;
@@ -20149,7 +19626,7 @@ lang_Type.prototype.get$typeArgsInOrder = function() {
return null;
}
lang_Type.prototype.get$genericType = function() {
- return (this && this.is$DefinedType());
+ return this;
}
lang_Type.prototype.get$interfaces = function() {
return null;
@@ -20164,23 +19641,23 @@ lang_Type.prototype.hashCode = function() {
return this.name.hashCode();
}
lang_Type.prototype.ensureSubtypeOf = function(other, span, typeErrors) {
- if (!$notnull_bool(this.isSubtypeOf(other))) {
+ if (!this.isSubtypeOf(other)) {
var msg = ('type ' + this.name + ' is not a subtype of ' + other.name + '');
- if ($notnull_bool(typeErrors)) {
- world.error($assert_String(msg), span);
+ if (typeErrors) {
+ world.error(msg, span);
}
else {
- world.warning($assert_String(msg), span);
+ world.warning(msg, span);
}
}
}
lang_Type.prototype.needsVarCall = function(args) {
- if ($notnull_bool(this.get$isVarOrFunction())) {
+ if (this.get$isVarOrFunction()) {
return true;
}
var call = this.getCallMethod();
- if ($notnull_bool($ne(call, null))) {
- if (args.get$length() != call.get$parameters().length || !$notnull_bool(call.namesInOrder$1(args))) {
+ if ($ne(call, null)) {
+ if (args.get$length() != call.get$parameters().length || !call.namesInOrder$1(args)) {
return true;
}
}
@@ -20188,17 +19665,17 @@ lang_Type.prototype.needsVarCall = function(args) {
}
lang_Type.union = function(x, y) {
if ($eq(x, y)) return x;
- if ($notnull_bool(x.get$isNum()) && $notnull_bool(y.get$isNum())) return world.numType;
- if ($notnull_bool(x.get$isString()) && $notnull_bool(y.get$isString())) return world.stringType;
+ if (x.get$isNum() && y.get$isNum()) return world.numType;
+ if (x.get$isString() && y.get$isString()) return world.stringType;
return world.varType;
}
lang_Type.prototype.isAssignable = function(other) {
- return $notnull_bool(this.isSubtypeOf(other)) || $notnull_bool(other.isSubtypeOf(this));
+ return this.isSubtypeOf(other) || other.isSubtypeOf(this);
}
lang_Type.prototype._isDirectSupertypeOf = function(other) {
var $this = this; // closure support
- if ($notnull_bool(other.get$isClass())) {
- return $eq(other.get$parent(), this) || $notnull_bool(this.get$isObject()) && other.get$parent() == null;
+ if (other.get$isClass()) {
+ return $eq(other.get$parent(), this) || this.get$isObject() && other.get$parent() == null;
}
else {
if (other.get$interfaces() == null || other.get$interfaces().isEmpty()) {
@@ -20217,23 +19694,23 @@ lang_Type.prototype.isSubtypeOf = function(other) {
return true;
}
if ($eq(this, other)) return true;
- if ($notnull_bool(this.get$isVar())) return true;
- if ($notnull_bool(other.get$isVar())) return true;
- if ($notnull_bool(other._isDirectSupertypeOf(this))) return true;
+ if (this.get$isVar()) return true;
+ if (other.get$isVar()) return true;
+ if (other._isDirectSupertypeOf(this)) return true;
var call = this.getCallMethod();
var otherCall = other.getCallMethod();
- if ($notnull_bool($ne(call, null)) && $notnull_bool($ne(otherCall, null))) {
- return lang_Type._isFunctionSubtypeOf((call && call.is$MethodMember()), (otherCall && otherCall.is$MethodMember()));
+ if ($ne(call, null) && $ne(otherCall, null)) {
+ return lang_Type._isFunctionSubtypeOf(call, otherCall);
}
- if ($eq(this.get$genericType(), other.get$genericType()) && $notnull_bool($ne(this.get$typeArgsInOrder(), null)) && $notnull_bool($ne(other.get$typeArgsInOrder(), null)) && this.get$typeArgsInOrder().length == other.get$typeArgsInOrder().length) {
+ if ($eq(this.get$genericType(), other.get$genericType()) && $ne(this.get$typeArgsInOrder(), null) && $ne(other.get$typeArgsInOrder(), null) && this.get$typeArgsInOrder().length == other.get$typeArgsInOrder().length) {
var t = this.get$typeArgsInOrder().iterator$0();
var s = other.get$typeArgsInOrder().iterator$0();
- while ($notnull_bool(t.hasNext$0())) {
- if (!$notnull_bool(t.next$0().isSubtypeOf$1(s.next$0()))) return false;
+ while (t.hasNext$0()) {
+ if (!t.next$0().isSubtypeOf$1(s.next$0())) return false;
}
return true;
}
- if (this.get$parent() != null && $notnull_bool(this.get$parent().isSubtypeOf(other))) {
+ if (this.get$parent() != null && this.get$parent().isSubtypeOf(other)) {
return true;
}
if (this.get$interfaces() != null && this.get$interfaces().some((function (i) {
@@ -20245,7 +19722,7 @@ lang_Type.prototype.isSubtypeOf = function(other) {
return false;
}
lang_Type._isFunctionSubtypeOf = function(t, s) {
- if (!$notnull_bool(s.returnType.get$isVoid()) && !$notnull_bool(s.returnType.isAssignable(t.returnType))) {
+ if (!s.returnType.get$isVoid() && !s.returnType.isAssignable(t.returnType)) {
return false;
}
var tp = t.parameters;
@@ -20254,47 +19731,47 @@ lang_Type._isFunctionSubtypeOf = function(t, s) {
for (var i = 0;
i < sp.length; i++) {
if ($ne(tp.$index(i).get$isOptional(), sp.$index(i).get$isOptional())) return false;
- if ($notnull_bool(tp.$index(i).get$isOptional()) && $notnull_bool($ne(tp.$index(i).get$name(), sp.$index(i).get$name()))) return false;
- if (!$notnull_bool(tp.$index(i).type.isAssignable$1(sp.$index(i).type))) return false;
+ if (tp.$index(i).get$isOptional() && $ne(tp.$index(i).get$name(), sp.$index(i).get$name())) return false;
+ if (!tp.$index(i).type.isAssignable$1(sp.$index(i).type)) return false;
}
- if (tp.length > sp.length && !$notnull_bool(tp.$index(sp.length).get$isOptional())) return false;
+ if (tp.length > sp.length && !tp.$index(sp.length).get$isOptional()) return false;
return true;
}
lang_Type.prototype.addDirectSubtype$1 = function($0) {
- return this.addDirectSubtype(($0 && $0.is$lang_Type()));
+ return this.addDirectSubtype($0);
};
lang_Type.prototype.ensureSubtypeOf$3 = function($0, $1, $2) {
- return this.ensureSubtypeOf(($0 && $0.is$lang_Type()), ($1 && $1.is$SourceSpan()), $assert_bool($2));
+ return this.ensureSubtypeOf($0, $1, $2);
};
lang_Type.prototype.getConstructor$1 = function($0) {
- return this.getConstructor($assert_String($0));
+ return this.getConstructor($0);
};
lang_Type.prototype.getFactory$2 = function($0, $1) {
- return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1));
+ return this.getFactory($0, $1);
};
lang_Type.prototype.getMember$1 = function($0) {
- return this.getMember($assert_String($0));
+ return this.getMember($0);
};
lang_Type.prototype.getOrMakeConcreteType$1 = function($0) {
- return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
+ return this.getOrMakeConcreteType($0);
};
lang_Type.prototype.hashCode$0 = function() {
return this.hashCode();
};
lang_Type.prototype.isAssignable$1 = function($0) {
- return this.isAssignable(($0 && $0.is$lang_Type()));
+ return this.isAssignable($0);
};
lang_Type.prototype.isSubtypeOf$1 = function($0) {
- return this.isSubtypeOf(($0 && $0.is$lang_Type()));
+ return this.isSubtypeOf($0);
};
lang_Type.prototype.markUsed$0 = function() {
return this.markUsed();
};
lang_Type.prototype.resolveMember$1 = function($0) {
- return this.resolveMember($assert_String($0));
+ return this.resolveMember($0);
};
lang_Type.prototype.resolveTypeParams$1 = function($0) {
- return this.resolveTypeParams(($0 && $0.is$ConcreteType()));
+ return this.resolveTypeParams($0);
};
// ********** Code for ParameterType **************
function ParameterType(name, typeParameter) {
@@ -20303,7 +19780,6 @@ function ParameterType(name, typeParameter) {
// Initializers done
}
$inherits(ParameterType, lang_Type);
-ParameterType.prototype.is$ParameterType = function(){return this;};
ParameterType.prototype.get$isClass = function() {
return false;
}
@@ -20335,8 +19811,7 @@ ParameterType.prototype.getOrMakeConcreteType = function(typeArgs) {
world.internalError('no concrete types of type parameters yet', this.get$span());
}
ParameterType.prototype.resolveTypeParams = function(inType) {
- var $0;
- return (($0 = inType.typeArguments.$index(this.name)) && $0.is$lang_Type());
+ return inType.typeArguments.$index(this.name);
}
ParameterType.prototype.addDirectSubtype = function(type) {
world.internalError('no subtypes of type parameters yet', this.get$span());
@@ -20350,25 +19825,25 @@ ParameterType.prototype.resolve = function(inType) {
}
}
ParameterType.prototype.addDirectSubtype$1 = function($0) {
- return this.addDirectSubtype(($0 && $0.is$lang_Type()));
+ return this.addDirectSubtype($0);
};
ParameterType.prototype.getConstructor$1 = function($0) {
- return this.getConstructor($assert_String($0));
+ return this.getConstructor($0);
};
ParameterType.prototype.getOrMakeConcreteType$1 = function($0) {
- return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
+ return this.getOrMakeConcreteType($0);
};
ParameterType.prototype.isSubtypeOf$1 = function($0) {
- return this.isSubtypeOf(($0 && $0.is$lang_Type()));
+ return this.isSubtypeOf($0);
};
ParameterType.prototype.resolve$1 = function($0) {
- return this.resolve(($0 && $0.is$lang_Type()));
+ return this.resolve($0);
};
ParameterType.prototype.resolveMember$1 = function($0) {
- return this.resolveMember($assert_String($0));
+ return this.resolveMember($0);
};
ParameterType.prototype.resolveTypeParams$1 = function($0) {
- return this.resolveTypeParams(($0 && $0.is$ConcreteType()));
+ return this.resolveTypeParams($0);
};
// ********** Code for NonNullableType **************
function NonNullableType(type) {
@@ -20377,7 +19852,6 @@ function NonNullableType(type) {
// Initializers done
}
$inherits(NonNullableType, lang_Type);
-NonNullableType.prototype.get$type = function() { return this.type; };
NonNullableType.prototype.get$isNullable = function() {
return false;
}
@@ -20388,7 +19862,7 @@ NonNullableType.prototype.get$isUsed = function() {
return false;
}
NonNullableType.prototype.isSubtypeOf = function(other) {
- return $eq(this, other) || $eq(this.type, other) || $notnull_bool(this.type.isSubtypeOf(other));
+ return $eq(this, other) || $eq(this.type, other) || this.type.isSubtypeOf(other);
}
NonNullableType.prototype.resolveType = function(node, isRequired) {
return this.type.resolveType(node, isRequired);
@@ -20415,12 +19889,10 @@ NonNullableType.prototype.getMember = function(name) {
return this.type.getMember(name);
}
NonNullableType.prototype.getConstructor = function(name) {
- var $0;
- return (($0 = this.type.getConstructor(name)) && $0.is$MethodMember());
+ return this.type.getConstructor(name);
}
NonNullableType.prototype.getFactory = function(t, name) {
- var $0;
- return (($0 = this.type.getFactory(t, name)) && $0.is$MethodMember());
+ return this.type.getFactory(t, name);
}
NonNullableType.prototype.getOrMakeConcreteType = function(typeArgs) {
return this.type.getOrMakeConcreteType(typeArgs);
@@ -20462,8 +19934,7 @@ NonNullableType.prototype.get$factories = function() {
return this.type.get$factories();
}
NonNullableType.prototype.get$typeArgsInOrder = function() {
- var $0;
- return (($0 = this.type.get$typeArgsInOrder()) && $0.is$Collection$Type());
+ return this.type.get$typeArgsInOrder();
}
NonNullableType.prototype.get$genericType = function() {
return this.type.get$genericType();
@@ -20481,31 +19952,31 @@ NonNullableType.prototype.get$isNativeType = function() {
return this.type.get$isNativeType();
}
NonNullableType.prototype.addDirectSubtype$1 = function($0) {
- return this.addDirectSubtype(($0 && $0.is$lang_Type()));
+ return this.addDirectSubtype($0);
};
NonNullableType.prototype.getConstructor$1 = function($0) {
- return this.getConstructor($assert_String($0));
+ return this.getConstructor($0);
};
NonNullableType.prototype.getFactory$2 = function($0, $1) {
- return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1));
+ return this.getFactory($0, $1);
};
NonNullableType.prototype.getMember$1 = function($0) {
- return this.getMember($assert_String($0));
+ return this.getMember($0);
};
NonNullableType.prototype.getOrMakeConcreteType$1 = function($0) {
- return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
+ return this.getOrMakeConcreteType($0);
};
NonNullableType.prototype.isSubtypeOf$1 = function($0) {
- return this.isSubtypeOf(($0 && $0.is$lang_Type()));
+ return this.isSubtypeOf($0);
};
NonNullableType.prototype.markUsed$0 = function() {
return this.markUsed();
};
NonNullableType.prototype.resolveMember$1 = function($0) {
- return this.resolveMember($assert_String($0));
+ return this.resolveMember($0);
};
NonNullableType.prototype.resolveTypeParams$1 = function($0) {
- return this.resolveTypeParams(($0 && $0.is$ConcreteType()));
+ return this.resolveTypeParams($0);
};
// ********** Code for ConcreteType **************
function ConcreteType(name, genericType, typeArguments, typeArgsInOrder) {
@@ -20519,7 +19990,6 @@ function ConcreteType(name, genericType, typeArguments, typeArgsInOrder) {
// Initializers done
}
$inherits(ConcreteType, lang_Type);
-ConcreteType.prototype.is$ConcreteType = function(){return this;};
ConcreteType.prototype.get$genericType = function() { return this.genericType; };
ConcreteType.prototype.get$typeArgsInOrder = function() { return this.typeArgsInOrder; };
ConcreteType.prototype.set$typeArgsInOrder = function(value) { return this.typeArgsInOrder = value; };
@@ -20554,11 +20024,11 @@ ConcreteType.prototype.resolveTypeParams = function(inType) {
for (var $i = 0;$i < $list.length; $i++) {
var t = $list.$index($i);
var newType = t.resolveTypeParams$1(inType);
- if ($notnull_bool($ne(newType, t))) needsNewType = true;
+ if ($ne(newType, t)) needsNewType = true;
newTypeArgs.add$1(newType);
}
- if (!$notnull_bool(needsNewType)) return this;
- return this.genericType.getOrMakeConcreteType((newTypeArgs && newTypeArgs.is$List$Type()));
+ if (!needsNewType) return this;
+ return this.genericType.getOrMakeConcreteType(newTypeArgs);
}
ConcreteType.prototype.getOrMakeConcreteType = function(typeArgs) {
return this.genericType.getOrMakeConcreteType(typeArgs);
@@ -20586,11 +20056,11 @@ ConcreteType.prototype.getAllMembers = function() {
for (var $i = result.getKeys$0().iterator(); $i.hasNext$0(); ) {
var memberName = $i.next$0();
var myMember = this.members.$index(memberName);
- if ($notnull_bool($ne(myMember, null))) {
+ if ($ne(myMember, null)) {
result.$setindex(memberName, myMember);
}
}
- return (result && result.is$Map$String$Member());
+ return result;
}
ConcreteType.prototype.markUsed = function() {
this.genericType.markUsed();
@@ -20603,21 +20073,21 @@ ConcreteType.prototype.getFactory = function(type, constructorName) {
}
ConcreteType.prototype.getConstructor = function(constructorName) {
var ret = this.constructors.$index(constructorName);
- if ($notnull_bool($ne(ret, null))) return ret;
+ if ($ne(ret, null)) return ret;
ret = this.factories.getFactory(this.name, constructorName);
- if ($notnull_bool($ne(ret, null))) return ret;
+ if ($ne(ret, null)) return ret;
var genericMember = this.genericType.getConstructor(constructorName);
- if ($notnull_bool(genericMember == null)) return null;
+ if (genericMember == null) return null;
if ($ne(genericMember.declaringType, this.genericType)) {
- if (!$notnull_bool(genericMember.declaringType.get$isGeneric())) return genericMember;
+ if (!genericMember.declaringType.get$isGeneric()) return genericMember;
var newDeclaringType = genericMember.declaringType.getOrMakeConcreteType(this.typeArgsInOrder);
var factory = newDeclaringType.getFactory$2(this.genericType, constructorName);
if (factory != null) return factory;
return newDeclaringType.getConstructor$1(constructorName);
}
- if ($notnull_bool(genericMember.get$isFactory())) {
- ret = new ConcreteMember($assert_String(genericMember.get$name()), this, genericMember);
- this.factories.addFactory(this.name, constructorName, (ret && ret.is$Member()));
+ if (genericMember.get$isFactory()) {
+ ret = new ConcreteMember(genericMember.get$name(), this, genericMember);
+ this.factories.addFactory(this.name, constructorName, ret);
}
else {
ret = new ConcreteMember(this.name, this, genericMember);
@@ -20627,56 +20097,56 @@ ConcreteType.prototype.getConstructor = function(constructorName) {
}
ConcreteType.prototype.getMember = function(memberName) {
var ret = this.members.$index(memberName);
- if ($notnull_bool($ne(ret, null))) return (ret && ret.is$Member());
+ if ($ne(ret, null)) return ret;
var genericMember = this.genericType.getMember(memberName);
- if ($notnull_bool(genericMember == null)) return null;
- ret = new ConcreteMember($assert_String(genericMember.get$name()), this, genericMember);
+ if (genericMember == null) return null;
+ ret = new ConcreteMember(genericMember.get$name(), this, genericMember);
this.members.$setindex(memberName, ret);
- return (ret && ret.is$Member());
+ return ret;
}
ConcreteType.prototype.resolveMember = function(memberName) {
var mem = this.getMember(memberName);
- if ($notnull_bool(mem == null)) return null;
- var ret = new MemberSet((mem && mem.is$Member()), false);
- if ($notnull_bool(mem.get$isStatic())) return (ret && ret.is$MemberSet());
+ if (mem == null) return null;
+ var ret = new MemberSet(mem, false);
+ if (mem.get$isStatic()) return ret;
var $list = this.genericType.get$subtypes();
for (var $i = this.genericType.get$subtypes().iterator(); $i.hasNext$0(); ) {
var t = $i.next$0();
var m = t.get$members().$index(memberName);
- if ($notnull_bool($ne(m, null))) ret.add$1(m);
+ if ($ne(m, null)) ret.add$1(m);
}
- return (ret && ret.is$MemberSet());
+ return ret;
}
ConcreteType.prototype.resolveType = function(node, isRequired) {
var ret = this.genericType.resolveType(node, isRequired);
- return (ret && ret.is$lang_Type());
+ return ret;
}
ConcreteType.prototype.addDirectSubtype = function(type) {
this.genericType.addDirectSubtype(type);
}
ConcreteType.prototype.addDirectSubtype$1 = function($0) {
- return this.addDirectSubtype(($0 && $0.is$lang_Type()));
+ return this.addDirectSubtype($0);
};
ConcreteType.prototype.getConstructor$1 = function($0) {
- return this.getConstructor($assert_String($0));
+ return this.getConstructor($0);
};
ConcreteType.prototype.getFactory$2 = function($0, $1) {
- return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1));
+ return this.getFactory($0, $1);
};
ConcreteType.prototype.getMember$1 = function($0) {
- return this.getMember($assert_String($0));
+ return this.getMember($0);
};
ConcreteType.prototype.getOrMakeConcreteType$1 = function($0) {
- return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
+ return this.getOrMakeConcreteType($0);
};
ConcreteType.prototype.markUsed$0 = function() {
return this.markUsed();
};
ConcreteType.prototype.resolveMember$1 = function($0) {
- return this.resolveMember($assert_String($0));
+ return this.resolveMember($0);
};
ConcreteType.prototype.resolveTypeParams$1 = function($0) {
- return this.resolveTypeParams(($0 && $0.is$ConcreteType()));
+ return this.resolveTypeParams($0);
};
// ********** Code for DefinedType **************
function DefinedType(name, library, definition, isClass) {
@@ -20694,7 +20164,6 @@ function DefinedType(name, library, definition, isClass) {
this.setDefinition(definition);
}
$inherits(DefinedType, lang_Type);
-DefinedType.prototype.is$DefinedType = function(){return this;};
DefinedType.prototype.get$definition = function() { return this.definition; };
DefinedType.prototype.set$definition = function(value) { return this.definition = value; };
DefinedType.prototype.get$library = function() { return this.library; };
@@ -20720,7 +20189,6 @@ DefinedType.prototype.set$isUsed = function(value) { return this.isUsed = value;
DefinedType.prototype.get$isNativeType = function() { return this.isNativeType; };
DefinedType.prototype.set$isNativeType = function(value) { return this.isNativeType = value; };
DefinedType.prototype.setDefinition = function(def) {
- $assert(this.definition == null, "definition == null", "type.dart", 630, 12);
this.definition = def;
if ((this.definition instanceof TypeDefinition) && this.definition.get$nativeType() != null) {
this.isNativeType = true;
@@ -20732,7 +20200,7 @@ DefinedType.prototype.setDefinition = function(def) {
for (var $i = 0;$i < $list.length; $i++) {
var tp = $list.$index($i);
var paramName = tp.get$name().get$name();
- this.typeParameters.add(new ParameterType($assert_String(paramName), tp));
+ this.typeParameters.add(new ParameterType(paramName, tp));
}
}
}
@@ -20753,63 +20221,61 @@ DefinedType.prototype.get$isTop = function() {
return this.name == null;
}
DefinedType.prototype.get$isObject = function() {
- return $notnull_bool(this.library.get$isCore()) && this.name == 'Object';
+ return this.library.get$isCore() && this.name == 'Object';
}
DefinedType.prototype.get$isString = function() {
- return $notnull_bool(this.library.get$isCore()) && this.name == 'String' || $notnull_bool(this.library.get$isCoreImpl()) && this.name == 'StringImplementation';
+ return this.library.get$isCore() && this.name == 'String' || this.library.get$isCoreImpl() && this.name == 'StringImplementation';
}
DefinedType.prototype.get$isBool = function() {
- return $notnull_bool(this.library.get$isCore()) && this.name == 'bool';
+ return this.library.get$isCore() && this.name == 'bool';
}
DefinedType.prototype.get$isFunction = function() {
- return $notnull_bool(this.library.get$isCore()) && this.name == 'Function';
+ return this.library.get$isCore() && this.name == 'Function';
}
DefinedType.prototype.get$isList = function() {
- return $notnull_bool(this.library.get$isCore()) && this.name == 'List';
+ return this.library.get$isCore() && this.name == 'List';
}
DefinedType.prototype.get$isGeneric = function() {
return this.typeParameters != null;
}
DefinedType.prototype.get$span = function() {
- var $0;
- return (($0 = this.definition == null ? null : this.definition.span) && $0.is$SourceSpan());
+ return this.definition == null ? null : this.definition.span;
}
DefinedType.prototype.get$typeofName = function() {
- if (!$notnull_bool(this.library.get$isCore())) return null;
- if ($notnull_bool(this.get$isBool())) return 'boolean';
- else if ($notnull_bool(this.get$isNum())) return 'number';
- else if ($notnull_bool(this.get$isString())) return 'string';
- else if ($notnull_bool(this.get$isFunction())) return 'function';
+ if (!this.library.get$isCore()) return null;
+ if (this.get$isBool()) return 'boolean';
+ else if (this.get$isNum()) return 'number';
+ else if (this.get$isString()) return 'string';
+ else if (this.get$isFunction()) return 'function';
else return null;
}
DefinedType.prototype.get$isNum = function() {
- return this.library != null && $notnull_bool(this.library.get$isCore()) && (this.name == 'num' || this.name == 'int' || this.name == 'double');
+ return this.library != null && this.library.get$isCore() && (this.name == 'num' || this.name == 'int' || this.name == 'double');
}
DefinedType.prototype.getCallMethod = function() {
- var $0;
- return (($0 = this.members.$index('\$call')) && $0.is$MethodMember());
+ return this.members.$index('\$call');
}
DefinedType.prototype.getAllMembers = function() {
return HashMapImplementation.HashMapImplementation$from$factory(this.members);
}
DefinedType.prototype.markUsed = function() {
- if ($notnull_bool(this.isUsed)) return;
+ if (this.isUsed) return;
this.isUsed = true;
if (this._lazyGenMethods != null) {
var $list = orderValuesByKeys(this._lazyGenMethods);
for (var $i = 0;$i < $list.length; $i++) {
var method = $list.$index($i);
- world.gen.genMethod((method && method.is$Member()));
+ world.gen.genMethod(method);
}
this._lazyGenMethods = null;
}
if (this.get$parent() != null) this.get$parent().markUsed();
}
DefinedType.prototype.genMethod = function(method) {
- if ($notnull_bool(this.isUsed)) {
+ if (this.isUsed) {
world.gen.genMethod(method);
}
- else if ($notnull_bool(this.isClass)) {
+ else if (this.isClass) {
if (this._lazyGenMethods == null) this._lazyGenMethods = $map([]);
this._lazyGenMethods.$setindex(method.name, method);
}
@@ -20819,17 +20285,16 @@ DefinedType.prototype._resolveInterfaces = function(types) {
var interfaces = [];
for (var $i = 0;$i < types.length; $i++) {
var type = types.$index($i);
- var resolvedInterface = this.resolveType((type && type.is$TypeReference()), true);
- if ($notnull_bool(resolvedInterface.get$isClosed()) && !($notnull_bool(this.library.get$isCore()) || $notnull_bool(this.library.get$isCoreImpl()))) {
+ var resolvedInterface = this.resolveType(type, true);
+ if (resolvedInterface.get$isClosed() && !(this.library.get$isCore() || this.library.get$isCoreImpl())) {
world.error(('can not implement "' + resolvedInterface.get$name() + '": ') + 'only native implementation allowed', type.get$span());
}
resolvedInterface.addDirectSubtype$1(this);
interfaces.add$1(resolvedInterface);
}
- return (interfaces && interfaces.is$List$Type());
+ return interfaces;
}
DefinedType.prototype.addDirectSubtype = function(type) {
- $assert(this._subtypes == null, "_subtypes == null", "type.dart", 746, 12);
this.directSubtypes.add(type);
}
DefinedType.prototype.get$subtypes = function() {
@@ -20848,7 +20313,7 @@ DefinedType.prototype._cycleInClassExtends = function() {
var seen = new HashSetImplementation();
seen.add(this);
var ancestor = this.get$parent();
- while ($notnull_bool($ne(ancestor, null))) {
+ while ($ne(ancestor, null)) {
if (ancestor === this) {
return true;
}
@@ -20865,53 +20330,52 @@ DefinedType.prototype._cycleInInterfaceExtends = function() {
var seen = new HashSetImplementation();
seen.add(this);
function _helper(ancestor) {
- if ($notnull_bool(ancestor == null)) return false;
+ if (ancestor == null) return false;
if (ancestor === $this) return true;
if (seen.contains(ancestor)) {
return false;
}
seen.add(ancestor);
- if ($notnull_bool($ne(ancestor.get$interfaces(), null))) {
+ if ($ne(ancestor.get$interfaces(), null)) {
var $list = ancestor.get$interfaces();
for (var $i = ancestor.get$interfaces().iterator$0(); $i.hasNext$0(); ) {
var parent = $i.next$0();
- if ($notnull_bool(_helper(parent))) return true;
+ if (_helper(parent)) return true;
}
}
return false;
}
for (var i = 0;
i < this.interfaces.length; i++) {
- if ($notnull_bool(_helper(this.interfaces.$index(i)))) return i;
+ if (_helper(this.interfaces.$index(i))) return i;
}
return -1;
}
DefinedType.prototype.resolve = function() {
var $this = this; // closure support
- var $0;
if ((this.definition instanceof TypeDefinition)) {
- var typeDef = (($0 = this.definition) && $0.is$TypeDefinition());
- if ($notnull_bool(this.isClass)) {
+ var typeDef = this.definition;
+ if (this.isClass) {
if (typeDef.extendsTypes != null && typeDef.extendsTypes.length > 0) {
if (typeDef.extendsTypes.length > 1) {
world.error('more than one base class', typeDef.extendsTypes.$index(1).get$span());
}
var extendsTypeRef = typeDef.extendsTypes.$index(0);
if ((extendsTypeRef instanceof GenericTypeReference)) {
- var g = (extendsTypeRef && extendsTypeRef.is$GenericTypeReference());
+ var g = extendsTypeRef;
this.set$parent(this.resolveType(g.baseType, true));
}
- this.set$parent(this.resolveType((extendsTypeRef && extendsTypeRef.is$TypeReference()), true));
- if (!$notnull_bool(this.get$parent().get$isClass())) {
+ this.set$parent(this.resolveType(extendsTypeRef, true));
+ if (!this.get$parent().get$isClass()) {
world.error('class may not extend an interface - use implements', typeDef.extendsTypes.$index(0).get$span());
}
this.get$parent().addDirectSubtype(this);
- if ($notnull_bool(this._cycleInClassExtends())) {
+ if (this._cycleInClassExtends()) {
world.error(('class "' + this.name + '" has a cycle in its inheritance chain'), extendsTypeRef.get$span());
}
}
else {
- if (!$notnull_bool(this.get$isObject())) {
+ if (!this.get$isObject()) {
this.set$parent(world.objectType);
this.get$parent().addDirectSubtype(this);
}
@@ -20967,7 +20431,7 @@ DefinedType.prototype.resolve = function() {
DefinedType.prototype.addMethod = function(methodName, definition) {
if (methodName == null) methodName = definition.name.name;
var method = new MethodMember(methodName, this, definition);
- if ($notnull_bool(method.get$isConstructor())) {
+ if (method.get$isConstructor()) {
if (this.constructors.containsKey(method.get$constructorName())) {
world.error(('duplicate constructor definition of ' + method.get$name() + ''), definition.span);
return;
@@ -20975,19 +20439,19 @@ DefinedType.prototype.addMethod = function(methodName, definition) {
this.constructors.$setindex(method.get$constructorName(), method);
return;
}
- if (definition.modifiers != null && definition.modifiers.length == 1 && $notnull_bool($eq(definition.modifiers.$index(0).kind, 75/*TokenKind.FACTORY*/))) {
- if (this.factories.getFactory(method.get$constructorName(), $assert_String(method.get$name())) != null) {
+ if (definition.modifiers != null && definition.modifiers.length == 1 && $eq(definition.modifiers.$index(0).kind, 75/*TokenKind.FACTORY*/)) {
+ if (this.factories.getFactory(method.get$constructorName(), method.get$name()) != null) {
world.error(('duplicate factory definition of "' + method.get$name() + '"'), definition.span);
return;
}
- this.factories.addFactory(method.get$constructorName(), $assert_String(method.get$name()), (method && method.is$Member()));
+ this.factories.addFactory(method.get$constructorName(), method.get$name(), method);
return;
}
if (methodName.startsWith('get\$') || methodName.startsWith('set\$')) {
var propName = methodName.substring(4);
var prop = this.members.$index(propName);
- if ($notnull_bool(prop == null)) {
- prop = new PropertyMember($assert_String(propName), this);
+ if (prop == null) {
+ prop = new PropertyMember(propName, this);
this.members.$setindex(propName, prop);
}
if (!(prop instanceof PropertyMember)) {
@@ -20998,13 +20462,13 @@ DefinedType.prototype.addMethod = function(methodName, definition) {
if (prop.getter != null) {
world.error(('duplicate getter definition for "' + propName + '"'), definition.span);
}
- prop.getter = (method && method.is$MethodMember());
+ prop.getter = method;
}
else {
if (prop.setter != null) {
world.error(('duplicate setter definition for "' + propName + '"'), definition.span);
}
- prop.setter = (method && method.is$MethodMember());
+ prop.setter = method;
}
return;
}
@@ -21026,85 +20490,83 @@ DefinedType.prototype.addField = function(definition) {
if (definition.values != null) {
value = definition.values.$index(i);
}
- var field = new FieldMember($assert_String(name), this, definition, value);
+ var field = new FieldMember(name, this, definition, value);
this.members.$setindex(name, field);
- if ($notnull_bool(this.isNativeType)) {
+ if (this.isNativeType) {
field.isNative = true;
}
}
}
DefinedType.prototype.getFactory = function(type, constructorName) {
var ret = this.factories.getFactory(type.name, constructorName);
- if ($notnull_bool($ne(ret, null))) return ret;
+ if ($ne(ret, null)) return ret;
ret = this.factories.getFactory(this.name, constructorName);
- if ($notnull_bool($ne(ret, null))) return ret;
+ if ($ne(ret, null)) return ret;
ret = this.constructors.$index(constructorName);
- if ($notnull_bool($ne(ret, null))) return ret;
+ if ($ne(ret, null)) return ret;
return this._tryCreateDefaultConstructor(constructorName);
}
DefinedType.prototype.getConstructor = function(constructorName) {
var ret = this.constructors.$index(constructorName);
- if ($notnull_bool($ne(ret, null))) {
+ if ($ne(ret, null)) {
if (this.factory_ != null) {
return this.factory_.getFactory(this, constructorName);
}
return ret;
}
ret = this.factories.getFactory(this.name, constructorName);
- if ($notnull_bool($ne(ret, null))) return ret;
+ if ($ne(ret, null)) return ret;
return this._tryCreateDefaultConstructor(constructorName);
}
DefinedType.prototype._tryCreateDefaultConstructor = function(name) {
- var $0;
- if (name == '' && this.definition != null && $notnull_bool(this.isClass) && this.constructors.get$length() == 0) {
+ if (name == '' && this.definition != null && this.isClass && this.constructors.get$length() == 0) {
var span = this.definition.span;
var inits = null, body = null;
- if ($notnull_bool(this.isNativeType)) {
- body = new NativeStatement(null, (span && span.is$SourceSpan()));
+ if (this.isNativeType) {
+ body = new NativeStatement(null, span);
inits = null;
}
else {
body = null;
- inits = [new CallExpression(new SuperExpression((span && span.is$SourceSpan())), [], (span && span.is$SourceSpan()))];
+ inits = [new CallExpression(new SuperExpression(span), [], span)];
}
- var typeDef = (($0 = this.definition) && $0.is$TypeDefinition());
- var c = new FunctionDefinition(null, null, typeDef.name, [], inits, body, (span && span.is$SourceSpan()));
- this.addMethod(null, (c && c.is$FunctionDefinition()));
+ var typeDef = this.definition;
+ var c = new FunctionDefinition(null, null, typeDef.name, [], inits, body, span);
+ this.addMethod(null, c);
this.constructors.$index('').resolve$1(this);
return this.constructors.$index('');
}
return null;
}
DefinedType.prototype.getMember = function(memberName) {
- var $0;
- var member = (($0 = this.members.$index(memberName)) && $0.is$Member());
+ var member = this.members.$index(memberName);
if (member != null) {
var parentMember = this.getMemberInParents(memberName);
- if ($notnull_bool($ne(parentMember, null))) {
- if (!$notnull_bool(member.get$isPrivate()) || $eq(member.get$library(), parentMember.get$library())) {
- member.override((parentMember && parentMember.is$Member()));
+ if ($ne(parentMember, null)) {
+ if (!member.get$isPrivate() || $eq(member.get$library(), parentMember.get$library())) {
+ member.override(parentMember);
}
}
return member;
}
- if ($notnull_bool(this.get$isTop())) {
+ if (this.get$isTop()) {
var libType = this.library.findTypeByName(memberName);
- if ($notnull_bool($ne(libType, null))) {
+ if ($ne(libType, null)) {
return libType.get$typeMember();
}
}
return this.getMemberInParents(memberName);
}
DefinedType.prototype.getMemberInParents = function(memberName) {
- if ($notnull_bool(this.isClass)) {
+ if (this.isClass) {
if (this.get$parent() != null) {
return this.get$parent().getMember(memberName);
}
- else if ($notnull_bool(this.get$isObject())) {
+ else if (this.get$isObject()) {
if (memberName == '\$ne') {
var ret = this._createNotEqualMember();
this.members.$setindex(memberName, ret);
- return (ret && ret.is$Member());
+ return ret;
}
return null;
}
@@ -21115,8 +20577,8 @@ DefinedType.prototype.getMemberInParents = function(memberName) {
for (var $i = 0;$i < $list.length; $i++) {
var i = $list.$index($i);
var ret = i.getMember$1(memberName);
- if ($notnull_bool($ne(ret, null))) {
- return (ret && ret.is$Member());
+ if ($ne(ret, null)) {
+ return ret;
}
}
return null;
@@ -21127,8 +20589,7 @@ DefinedType.prototype.getMemberInParents = function(memberName) {
}
}
DefinedType.prototype.resolveMember = function(memberName) {
- var $0;
- var ret = (($0 = this._resolvedMembers.$index(memberName)) && $0.is$MemberSet());
+ var ret = this._resolvedMembers.$index(memberName);
if (ret != null) return ret;
var member = this.getMember(memberName);
if (member == null) {
@@ -21136,7 +20597,7 @@ DefinedType.prototype.resolveMember = function(memberName) {
}
ret = new MemberSet(member, false);
this._resolvedMembers.$setindex(memberName, ret);
- if ($notnull_bool(member.get$isStatic())) {
+ if (member.get$isStatic()) {
return ret;
}
else {
@@ -21144,20 +20605,19 @@ DefinedType.prototype.resolveMember = function(memberName) {
for (var $i = this.get$subtypes().iterator(); $i.hasNext$0(); ) {
var t = $i.next$0();
var m;
- if (!$notnull_bool(this.isClass) && $notnull_bool(t.get$isClass())) {
+ if (!this.isClass && t.get$isClass()) {
m = t.getMember$1(memberName);
}
else {
m = t.get$members().$index(memberName);
}
- if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member()));
+ if ($ne(m, null)) ret.add(m);
}
return ret;
}
}
DefinedType.prototype._createNotEqualMember = function() {
- var $0;
- var eq = (($0 = this.members.$index('\$eq')) && $0.is$MethodMember());
+ var eq = this.members.$index('\$eq');
if (eq == null) {
world.internalError('INTERNAL: object does not define ==', this.definition.span);
}
@@ -21175,21 +20635,20 @@ DefinedType._getDottedName = function(type) {
return n.get$name();
})
);
- return type.name.name + '.' + Strings.join((names && names.is$List$String()), '.');
+ return type.name.name + '.' + Strings.join(names, '.');
}
else {
return type.name.name;
}
}
DefinedType.prototype.resolveType = function(node, typeErrors) {
- var $0;
if (node == null) return world.varType;
if (node.type != null) return node.type;
if ((node instanceof NameTypeReference)) {
- var typeRef = (node && node.is$NameTypeReference());
+ var typeRef = node;
var name;
if (typeRef.names != null) {
- name = $assert_String(typeRef.names.last().get$name());
+ name = typeRef.names.last().get$name();
}
else {
name = typeRef.name.name;
@@ -21198,8 +20657,8 @@ DefinedType.prototype.resolveType = function(node, typeErrors) {
var $list = this.typeParameters;
for (var $i = 0;$i < $list.length; $i++) {
var tp = $list.$index($i);
- if ($notnull_bool($eq(tp.get$name(), name))) {
- typeRef.type = (tp && tp.is$lang_Type());
+ if ($eq(tp.get$name(), name)) {
+ typeRef.type = tp;
}
}
}
@@ -21208,20 +20667,20 @@ DefinedType.prototype.resolveType = function(node, typeErrors) {
}
if (typeRef.type == null) {
var message = ('can not find type ' + DefinedType._getDottedName(typeRef) + '');
- if ($notnull_bool(typeErrors)) {
- world.error($assert_String(message), typeRef.span);
+ if (typeErrors) {
+ world.error(message, typeRef.span);
typeRef.type = world.objectType;
}
else {
- world.warning($assert_String(message), typeRef.span);
+ world.warning(message, typeRef.span);
typeRef.type = world.varType;
}
}
}
else if ((node instanceof GenericTypeReference)) {
- var typeRef = (node && node.is$GenericTypeReference());
+ var typeRef = node;
var baseType = this.resolveType(typeRef.baseType, typeErrors);
- if (!$notnull_bool(baseType.get$isGeneric())) {
+ if (!baseType.get$isGeneric()) {
world.error(('' + baseType.get$name() + ' is not generic'), typeRef.span);
return null;
}
@@ -21233,19 +20692,19 @@ DefinedType.prototype.resolveType = function(node, typeErrors) {
for (var i = 0;
i < typeRef.typeArguments.length; i++) {
var extendsType = baseType.get$typeParameters().$index(i).extendsType;
- var typeArg = this.resolveType((($0 = typeRef.typeArguments.$index(i)) && $0.is$TypeReference()), typeErrors);
+ var typeArg = this.resolveType(typeRef.typeArguments.$index(i), typeErrors);
typeArgs.add$1(typeArg);
- if ($notnull_bool($ne(extendsType, null)) && !(typeArg instanceof ParameterType)) {
+ if ($ne(extendsType, null) && !(typeArg instanceof ParameterType)) {
typeArg.ensureSubtypeOf$3(extendsType, typeRef.typeArguments.$index(i).get$span(), typeErrors);
}
}
typeRef.type = baseType.getOrMakeConcreteType$1(typeArgs);
}
else if ((node instanceof FunctionTypeReference)) {
- var typeRef = (node && node.is$FunctionTypeReference());
+ var typeRef = node;
var name = '';
if (typeRef.func.name != null) name = typeRef.func.name.name;
- typeRef.type = this.library.getOrAddFunctionType($assert_String(name), typeRef.func, this);
+ typeRef.type = this.library.getOrAddFunctionType(name, typeRef.func, this);
}
else {
world.internalError('unknown type reference', node.span);
@@ -21256,7 +20715,6 @@ DefinedType.prototype.resolveTypeParams = function(inType) {
return this;
}
DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) {
- $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1229, 12);
var names = [this.name];
var typeMap = $map([]);
for (var i = 0;
@@ -21265,42 +20723,41 @@ DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) {
typeMap.$setindex(paramName, typeArgs.$index(i));
names.add$1(typeArgs.$index(i).get$name());
}
- var concreteName = Strings.join((names && names.is$List$String()), '\$');
+ var concreteName = Strings.join(names, '\$');
var ret = this._concreteTypes.$index(concreteName);
- if ($notnull_bool(ret == null)) {
- ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs);
+ if (ret == null) {
+ ret = new ConcreteType(concreteName, this, typeMap, typeArgs);
this._concreteTypes.$setindex(concreteName, ret);
}
- return (ret && ret.is$lang_Type());
+ return ret;
}
DefinedType.prototype.getCallStub = function(args) {
- $assert(this.get$isFunction(), "isFunction", "type.dart", 1249, 12);
var name = _getCallStubName('call', args);
if (this.varStubs == null) this.varStubs = $map([]);
var stub = this.varStubs.$index(name);
- if ($notnull_bool(stub == null)) {
- stub = new VarFunctionStub($assert_String(name), args);
+ if (stub == null) {
+ stub = new VarFunctionStub(name, args);
this.varStubs.$setindex(name, stub);
}
- return (stub && stub.is$VarFunctionStub());
+ return stub;
}
DefinedType.prototype.addDirectSubtype$1 = function($0) {
- return this.addDirectSubtype(($0 && $0.is$lang_Type()));
+ return this.addDirectSubtype($0);
};
DefinedType.prototype.addMethod$2 = function($0, $1) {
- return this.addMethod($assert_String($0), ($1 && $1.is$FunctionDefinition()));
+ return this.addMethod($0, $1);
};
DefinedType.prototype.getConstructor$1 = function($0) {
- return this.getConstructor($assert_String($0));
+ return this.getConstructor($0);
};
DefinedType.prototype.getFactory$2 = function($0, $1) {
- return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1));
+ return this.getFactory($0, $1);
};
DefinedType.prototype.getMember$1 = function($0) {
- return this.getMember($assert_String($0));
+ return this.getMember($0);
};
DefinedType.prototype.getOrMakeConcreteType$1 = function($0) {
- return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
+ return this.getOrMakeConcreteType($0);
};
DefinedType.prototype.markUsed$0 = function() {
return this.markUsed();
@@ -21309,13 +20766,13 @@ DefinedType.prototype.resolve$0 = function() {
return this.resolve();
};
DefinedType.prototype.resolveMember$1 = function($0) {
- return this.resolveMember($assert_String($0));
+ return this.resolveMember($0);
};
DefinedType.prototype.resolveTypeParams$1 = function($0) {
- return this.resolveTypeParams(($0 && $0.is$ConcreteType()));
+ return this.resolveTypeParams($0);
};
DefinedType.prototype.setDefinition$1 = function($0) {
- return this.setDefinition(($0 && $0.is$Definition()));
+ return this.setDefinition($0);
};
// ********** Code for FixedCollection **************
function FixedCollection(value, length) {
@@ -21323,10 +20780,6 @@ function FixedCollection(value, length) {
this.length = length;
// Initializers done
}
-FixedCollection.prototype.is$Collection$E = function(){return this;};
-FixedCollection.prototype.is$Collection$Object = function(){return this;};
-FixedCollection.prototype.is$Collection$Type = function(){return this;};
-FixedCollection.prototype.is$Iterable = function(){return this;};
FixedCollection.prototype.get$value = function() { return this.value; };
FixedCollection.prototype.iterator = function() {
return new FixedIterator$E(this.value, this.length);
@@ -21358,10 +20811,6 @@ function FixedCollection$Type(value, length) {
// Initializers done
}
$inherits(FixedCollection$Type, FixedCollection);
-FixedCollection$Type.prototype.is$Collection$E = function(){return this;};
-FixedCollection$Type.prototype.is$Collection$Object = function(){return this;};
-FixedCollection$Type.prototype.is$Collection$Type = function(){return this;};
-FixedCollection$Type.prototype.is$Iterable = function(){return this;};
// ********** Code for FixedIterator **************
function FixedIterator(value, length) {
this._index = 0
@@ -21369,7 +20818,6 @@ function FixedIterator(value, length) {
this.length = length;
// Initializers done
}
-FixedIterator.prototype.is$Iterator$T = function(){return this;};
FixedIterator.prototype.get$value = function() { return this.value; };
FixedIterator.prototype.hasNext = function() {
return this._index < this.length;
@@ -21392,7 +20840,6 @@ function FixedIterator$E(value, length) {
// Initializers done
}
$inherits(FixedIterator$E, FixedIterator);
-FixedIterator$E.prototype.is$Iterator$T = function(){return this;};
// ********** Code for Value **************
function Value(type, code, span, needsTemp) {
this.isSuper = false
@@ -21404,13 +20851,10 @@ function Value(type, code, span, needsTemp) {
// Initializers done
if (this.type == null) world.internalError('type passed as null', this.span);
}
-Value.prototype.is$Value = function(){return this;};
-Value.prototype.get$type = function() { return this.type; };
-Value.prototype.set$type = function(value) { return this.type = value; };
Value.prototype.get$span = function() { return this.span; };
Value.prototype.set$span = function(value) { return this.span = value; };
Value.prototype.get$_typeIsVarOrParameterType = function() {
- return $notnull_bool(this.type.get$isVar()) || (this.type instanceof ParameterType);
+ return this.type.get$isVar() || (this.type instanceof ParameterType);
}
Value.prototype.get$isConst = function() {
return false;
@@ -21420,7 +20864,7 @@ Value.prototype.get$canonicalCode = function() {
}
Value.prototype.get_ = function(context, name, node) {
var member = this._resolveMember(context, name, node, false);
- if ($notnull_bool($ne(member, null))) {
+ if ($ne(member, null)) {
return member._get$3(context, node, this);
}
else {
@@ -21429,7 +20873,7 @@ Value.prototype.get_ = function(context, name, node) {
}
Value.prototype.set_ = function(context, name, node, value, isDynamic) {
var member = this._resolveMember(context, name, node, isDynamic);
- if ($notnull_bool($ne(member, null))) {
+ if ($ne(member, null)) {
return member._set(context, node, this, value, isDynamic);
}
else {
@@ -21437,7 +20881,7 @@ Value.prototype.set_ = function(context, name, node, value, isDynamic) {
}
}
Value.prototype.invoke = function(context, name, node, args, isDynamic) {
- if ($notnull_bool(this.get$_typeIsVarOrParameterType()) && name == '\$ne') {
+ if (this.get$_typeIsVarOrParameterType() && name == '\$ne') {
if (args.values.length != 1) {
world.warning('wrong number of arguments for !=', node.span);
}
@@ -21446,15 +20890,15 @@ Value.prototype.invoke = function(context, name, node, args, isDynamic) {
return new Value(eq.type, ('\$ne(' + this.code + ', ' + args.values.$index(0).code + ')'), node.span, true);
}
if (name == '\$call') {
- if ($notnull_bool(this.isType)) {
+ if (this.isType) {
world.error('must use "new" or "const" to construct a new instance', node.span);
}
- if ($notnull_bool(this.type.needsVarCall(args))) {
+ if (this.type.needsVarCall(args)) {
return this._varCall(context, args);
}
}
var member = this._resolveMember(context, name, node, isDynamic);
- if ($notnull_bool(member == null)) {
+ if (member == null) {
return this.invokeNoSuchMethod(context, name, node, args);
}
else {
@@ -21462,26 +20906,26 @@ Value.prototype.invoke = function(context, name, node, args, isDynamic) {
}
}
Value.prototype.canInvoke = function(context, name, args) {
- if ($notnull_bool(this.get$_typeIsVarOrParameterType()) && name == '\$ne') {
+ if (this.get$_typeIsVarOrParameterType() && name == '\$ne') {
return true;
}
- if ($notnull_bool(this.type.get$isVarOrFunction()) && name == '\$call') {
+ if (this.type.get$isVarOrFunction() && name == '\$call') {
return true;
}
var member = this._resolveMember(context, name, null, true);
- return $notnull_bool($ne(member, null)) && $notnull_bool(member.canInvoke$2(context, args));
+ return $ne(member, null) && member.canInvoke$2(context, args);
}
Value.prototype._hasOverriddenNoSuchMethod = function() {
- if ($notnull_bool(this.isSuper)) {
+ if (this.isSuper) {
var m = this.type.getMember('noSuchMethod');
- return $notnull_bool($ne(m, null)) && !$notnull_bool(m.declaringType.get$isObject());
+ return $ne(m, null) && !m.declaringType.get$isObject();
}
else {
return this.type.resolveMember('noSuchMethod').members.length > 1;
}
}
Value.prototype._tryResolveMember = function(context, name) {
- if ($notnull_bool(this.isSuper)) {
+ if (this.isSuper) {
return this.type.getMember(name);
}
else {
@@ -21490,35 +20934,35 @@ Value.prototype._tryResolveMember = function(context, name) {
}
Value.prototype._resolveMember = function(context, name, node, isDynamic) {
var member;
- if (!$notnull_bool(this.get$_typeIsVarOrParameterType())) {
+ if (!this.get$_typeIsVarOrParameterType()) {
member = this._tryResolveMember(context, name);
- if ($notnull_bool($ne(member, null)) && $notnull_bool(this.isType) && !$notnull_bool(member.get$isStatic())) {
- if (!$notnull_bool(isDynamic)) {
+ if ($ne(member, null) && this.isType && !member.get$isStatic()) {
+ if (!isDynamic) {
world.error('can not refer to instance member as static', node.span);
}
return null;
}
- if ($notnull_bool(member == null) && !$notnull_bool(isDynamic) && !$notnull_bool(this._hasOverriddenNoSuchMethod())) {
+ if (member == null && !isDynamic && !this._hasOverriddenNoSuchMethod()) {
var typeName = this.type.name == null ? this.type.get$library().name : this.type.name;
var message = ('can not resolve "' + name + '" on "' + typeName + '"');
- if ($notnull_bool(this.isType)) {
- world.error($assert_String(message), node.span);
+ if (this.isType) {
+ world.error(message, node.span);
}
else {
- world.warning($assert_String(message), node.span);
+ world.warning(message, node.span);
}
}
}
- if ($notnull_bool(member == null) && !$notnull_bool(this.isSuper) && !$notnull_bool(this.isType)) {
+ if (member == null && !this.isSuper && !this.isType) {
member = context.findMembers(name);
- if ($notnull_bool(member == null) && !$notnull_bool(isDynamic)) {
+ if (member == null && !isDynamic) {
world.warning(('' + name + ' is not defined anywhere in the world.'), node.span);
}
}
return member;
}
Value.prototype.checkFirstClass = function(span) {
- if ($notnull_bool(this.isType)) {
+ if (this.isType) {
world.error('Types are not first class', span);
}
}
@@ -21528,54 +20972,53 @@ Value.prototype._varCall = function(context, args) {
}
Value.prototype.needsConversion = function(toType) {
var callMethod = toType.getCallMethod();
- if ($notnull_bool($ne(callMethod, null))) {
+ if ($ne(callMethod, null)) {
var arity = callMethod.get$parameters().length;
var myCall = this.type.getCallMethod();
- if ($notnull_bool(myCall == null) || myCall.get$parameters().length != arity) {
+ if (myCall == null || myCall.get$parameters().length != arity) {
return true;
}
}
- if ($notnull_bool(options.enableTypeChecks)) {
+ if (options.enableTypeChecks) {
var fromType = this.type;
- if ($notnull_bool(this.type.get$isVar()) && (this.code != 'null' || !$notnull_bool(toType.get$isNullable()))) {
+ if (this.type.get$isVar() && (this.code != 'null' || !toType.get$isNullable())) {
fromType = world.objectType;
}
- var bothNum = $notnull_bool(this.type.get$isNum()) && $notnull_bool(toType.get$isNum());
- return $notnull_bool(fromType.isSubtypeOf(toType)) || $notnull_bool(bothNum);
+ var bothNum = this.type.get$isNum() && toType.get$isNum();
+ return fromType.isSubtypeOf(toType) || bothNum;
}
return false;
}
Value.prototype.convertTo = function(context, toType, node, isDynamic) {
- var $0;
- var checked = !$notnull_bool(isDynamic);
+ var checked = !isDynamic;
var callMethod = toType.getCallMethod();
- if ($notnull_bool($ne(callMethod, null))) {
- if ($notnull_bool(checked) && !$notnull_bool(toType.isAssignable(this.type))) {
+ if ($ne(callMethod, null)) {
+ if (checked && !toType.isAssignable(this.type)) {
this.convertWarning(toType, node);
}
var arity = callMethod.get$parameters().length;
var myCall = this.type.getCallMethod();
- if ($notnull_bool(myCall == null) || myCall.get$parameters().length != arity) {
+ if (myCall == null || myCall.get$parameters().length != arity) {
var stub = world.functionType.getCallStub(Arguments.Arguments$bare$factory(arity));
var val = new Value(toType, ('to\$' + stub.name + '(' + this.code + ')'), node.span, true);
- return (($0 = $notnull_bool(this._isDomCallback(toType)) && !$notnull_bool(this._isDomCallback(this.type)) ? val._wrapDomCallback(toType, arity) : val) && $0.is$Value());
+ return this._isDomCallback(toType) && !this._isDomCallback(this.type) ? val._wrapDomCallback(toType, arity) : val;
}
- else if ($notnull_bool(this._isDomCallback(toType)) && !$notnull_bool(this._isDomCallback(this.type))) {
+ else if (this._isDomCallback(toType) && !this._isDomCallback(this.type)) {
return this._wrapDomCallback(toType, arity);
}
}
var fromType = this.type;
- if ($notnull_bool(this.type.get$isVar()) && (this.code != 'null' || !$notnull_bool(toType.get$isNullable()))) {
+ if (this.type.get$isVar() && (this.code != 'null' || !toType.get$isNullable())) {
fromType = world.objectType;
}
- var bothNum = $notnull_bool(this.type.get$isNum()) && $notnull_bool(toType.get$isNum());
- if ($notnull_bool(fromType.isSubtypeOf(toType)) || $notnull_bool(bothNum)) {
+ var bothNum = this.type.get$isNum() && toType.get$isNum();
+ if (fromType.isSubtypeOf(toType) || bothNum) {
return this;
}
- if ($notnull_bool(checked) && !$notnull_bool(toType.isSubtypeOf(this.type))) {
+ if (checked && !toType.isSubtypeOf(this.type)) {
this.convertWarning(toType, node);
}
- if ($notnull_bool(options.enableTypeChecks)) {
+ if (options.enableTypeChecks) {
return this._typeAssert(context, toType, node);
}
else {
@@ -21590,18 +21033,18 @@ Value.prototype._wrapDomCallback = function(toType, arity) {
}
Value.prototype._typeAssert = function(context, toType, node) {
if ((toType instanceof ParameterType)) {
- var p = (toType && toType.is$ParameterType());
+ var p = toType;
toType = p.extendsType;
}
if (toType.getCallMethod() != null) {
return this;
}
- if ($notnull_bool(toType.get$isObject()) || $notnull_bool(toType.get$isVar())) {
+ if (toType.get$isObject() || toType.get$isVar()) {
world.internalError(('We thought ' + this.type.name + ' is not a subtype of ' + toType.name + '?'));
}
- if ($notnull_bool(toType.get$isNum())) toType = world.numType;
+ if (toType.get$isNum()) toType = world.numType;
var check;
- if ($notnull_bool(toType.get$isVoid())) {
+ if (toType.get$isVoid()) {
check = ('\$assert_void(' + this.code + ')');
if (toType.typeCheckCode == null) {
toType.typeCheckCode = "function $assert_void(x) {\n return x == null ? x : x.is$void(); // throws TypeError\n}";
@@ -21611,7 +21054,7 @@ Value.prototype._typeAssert = function(context, toType, node) {
world.gen.corejs.useNotNullBool = true;
check = ('\$notnull_bool(' + this.code + ')');
}
- else if ($notnull_bool(toType.get$library().get$isCore()) && toType.get$typeofName() != null) {
+ else if (toType.get$library().get$isCore() && toType.get$typeofName() != null) {
check = ('\$assert_' + toType.name + '(' + this.code + ')');
if (toType.typeCheckCode == null) {
toType.typeCheckCode = ("function $assert_" + toType.name + "(x) {\n if (x == null || typeof(x) == \"" + toType.get$typeofName() + "\") return x;\n throw new TypeError(\"'\" + x + \"' is not a " + toType.name + ".\");\n}");
@@ -21620,14 +21063,14 @@ Value.prototype._typeAssert = function(context, toType, node) {
else {
toType.isTested = true;
var temp = context.getTemp(this);
- check = ('(' + context.assignTemp((temp && temp.is$Value()), this).code + ' &&');
+ check = ('(' + context.assignTemp(temp, this).code + ' &&');
check = check + (' ' + temp.code + '.is\$' + toType.get$jsname() + '())');
- if ($ne(this, temp)) context.freeTemp((temp && temp.is$Value()));
+ if ($ne(this, temp)) context.freeTemp(temp);
}
return new Value(toType, check, this.span, true);
}
Value.prototype.instanceOf = function(context, toType, span, isTrue, forceCheck) {
- if ($notnull_bool(toType.get$isVar())) {
+ if (toType.get$isVar()) {
world.error('can not resolve type', span);
return EvaluatedValue.EvaluatedValue$factory(world.nonNullBool, true, 'true', null);
}
@@ -21635,31 +21078,31 @@ Value.prototype.instanceOf = function(context, toType, span, isTrue, forceCheck)
return EvaluatedValue.EvaluatedValue$factory(world.nonNullBool, true, 'true', null);
}
var testCode = null;
- if ($notnull_bool(toType.get$library().get$isCore())) {
+ if (toType.get$library().get$isCore()) {
var typeofName = toType.get$typeofName();
- if ($notnull_bool($ne(typeofName, null))) {
- testCode = ("(typeof(" + this.code + ") " + ($notnull_bool(isTrue) ? '==' : '!=') + " '" + typeofName + "')");
+ if ($ne(typeofName, null)) {
+ testCode = ("(typeof(" + this.code + ") " + (isTrue ? '==' : '!=') + " '" + typeofName + "')");
}
}
- if ($notnull_bool(toType.get$isClass()) && !(toType instanceof ConcreteType)) {
+ if (toType.get$isClass() && !(toType instanceof ConcreteType)) {
toType.markUsed();
testCode = ('(' + this.code + ' instanceof ' + toType.get$jsname() + ')');
- if (!$notnull_bool(isTrue)) {
+ if (!isTrue) {
testCode = '!' + testCode;
}
}
if (testCode == null) {
toType.isTested = true;
var temp = context.getTemp(this);
- testCode = ('(' + context.assignTemp((temp && temp.is$Value()), this).code + ' &&');
+ testCode = ('(' + context.assignTemp(temp, this).code + ' &&');
testCode = testCode + (' ' + temp.code + '.is\$' + toType.get$jsname() + ')');
- if ($notnull_bool(isTrue)) {
+ if (isTrue) {
testCode = '!!' + testCode;
}
else {
testCode = '!' + testCode;
}
- if ($ne(this, temp)) context.freeTemp((temp && temp.is$Value()));
+ if ($ne(this, temp)) context.freeTemp(temp);
}
return new Value(world.nonNullBool, testCode, span, true);
}
@@ -21674,14 +21117,12 @@ Value.prototype.invokeNoSuchMethod = function(context, name, node, args) {
i < args.get$length(); i++) {
argsCode.add$1(args.values.$index(i).code);
}
- pos = Strings.join((argsCode && argsCode.is$List$String()), ", ");
+ pos = Strings.join(argsCode, ", ");
}
var noSuchArgs = [new Value(world.stringType, ('"' + name + '"'), node.span, true), new Value(world.listType, ('[' + pos + ']'), node.span, true)];
return this._resolveMember(context, 'noSuchMethod', node, false).invoke$4(context, node, this, new Arguments(null, noSuchArgs));
}
Value.prototype.invokeSpecial = function(name, args, returnType) {
- $assert(name.startsWith('\$'), "name.startsWith('\\$')", "value.dart", 455, 12);
- $assert(!$notnull_bool(args.get$hasNames()), "!args.hasNames", "value.dart", 456, 12);
var argsString = args.getCode();
if (name == '\$index' || name == '\$setindex') {
return new Value(returnType, ('' + this.code + '.' + name + '(' + argsString + ')'), this.span, true);
@@ -21693,37 +21134,37 @@ Value.prototype.invokeSpecial = function(name, args, returnType) {
}
}
Value.prototype.checkFirstClass$1 = function($0) {
- return this.checkFirstClass(($0 && $0.is$SourceSpan()));
+ return this.checkFirstClass($0);
};
Value.prototype.convertTo$3 = function($0, $1, $2) {
- return this.convertTo(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Type()), ($2 && $2.is$lang_Node()), false);
+ return this.convertTo($0, $1, $2, false);
};
Value.prototype.convertTo$4 = function($0, $1, $2, $3) {
- return this.convertTo(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Type()), ($2 && $2.is$lang_Node()), $assert_bool($3));
+ return this.convertTo($0, $1, $2, $3);
};
Value.prototype.get_$3 = function($0, $1, $2) {
- return this.get_(($0 && $0.is$MethodGenerator()), $assert_String($1), ($2 && $2.is$lang_Node()));
+ return this.get_($0, $1, $2);
};
Value.prototype.instanceOf$3$isTrue$forceCheck = function($0, $1, $2, isTrue, forceCheck) {
- return this.instanceOf(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Type()), ($2 && $2.is$SourceSpan()), $assert_bool(isTrue), $assert_bool(forceCheck));
+ return this.instanceOf($0, $1, $2, isTrue, forceCheck);
};
Value.prototype.instanceOf$4 = function($0, $1, $2, $3) {
- return this.instanceOf(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Type()), ($2 && $2.is$SourceSpan()), $assert_bool($3), false);
+ return this.instanceOf($0, $1, $2, $3, false);
};
Value.prototype.invoke$4 = function($0, $1, $2, $3) {
- return this.invoke(($0 && $0.is$MethodGenerator()), $assert_String($1), ($2 && $2.is$lang_Node()), ($3 && $3.is$Arguments()), false);
+ return this.invoke($0, $1, $2, $3, false);
};
Value.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic) {
- return this.invoke(($0 && $0.is$MethodGenerator()), $assert_String($1), ($2 && $2.is$lang_Node()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic));
+ return this.invoke($0, $1, $2, $3, isDynamic);
};
Value.prototype.invoke$5 = function($0, $1, $2, $3, $4) {
- return this.invoke(($0 && $0.is$MethodGenerator()), $assert_String($1), ($2 && $2.is$lang_Node()), ($3 && $3.is$Arguments()), $assert_bool($4));
+ return this.invoke($0, $1, $2, $3, $4);
};
Value.prototype.needsConversion$1 = function($0) {
- return this.needsConversion(($0 && $0.is$lang_Type()));
+ return this.needsConversion($0);
};
Value.prototype.set_$4 = function($0, $1, $2, $3) {
- return this.set_(($0 && $0.is$MethodGenerator()), $assert_String($1), ($2 && $2.is$lang_Node()), ($3 && $3.is$Value()), false);
+ return this.set_($0, $1, $2, $3, false);
};
// ********** Code for EvaluatedValue **************
function EvaluatedValue() {}
@@ -21752,7 +21193,7 @@ EvaluatedValue.codeWithComments = function(canonicalCode, span) {
function ConstListValue() {}
ConstListValue._internal$ctor = function(type, values, actualValue, canonicalCode, span, code) {
this.values = values;
- EvaluatedValue._internal$ctor.call(this, (type && type.is$lang_Type()), actualValue, canonicalCode, (span && span.is$SourceSpan()), $assert_String(code));
+ EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, span, code);
// Initializers done
}
ConstListValue._internal$ctor.prototype = ConstListValue.prototype;
@@ -21764,7 +21205,7 @@ ConstListValue.ConstListValue$factory = function(type, values, actualValue, cano
function ConstMapValue() {}
ConstMapValue._internal$ctor = function(type, values, actualValue, canonicalCode, span, code) {
this.values = values;
- EvaluatedValue._internal$ctor.call(this, (type && type.is$lang_Type()), actualValue, canonicalCode, (span && span.is$SourceSpan()), $assert_String(code));
+ EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, span, code);
// Initializers done
}
ConstMapValue._internal$ctor.prototype = ConstMapValue.prototype;
@@ -21781,7 +21222,7 @@ ConstMapValue.ConstMapValue$factory = function(type, keyValuePairs, actualValue,
function ConstObjectValue() {}
ConstObjectValue._internal$ctor = function(type, fields, actualValue, canonicalCode, span, code) {
this.fields = fields;
- EvaluatedValue._internal$ctor.call(this, (type && type.is$lang_Type()), actualValue, canonicalCode, (span && span.is$SourceSpan()), $assert_String(code));
+ EvaluatedValue._internal$ctor.call(this, type, actualValue, canonicalCode, span, code);
// Initializers done
}
ConstObjectValue._internal$ctor.prototype = ConstObjectValue.prototype;
@@ -21807,16 +21248,14 @@ function GlobalValue(type, code, isConst, field, name, exp, canonicalCode, span,
this.exp = exp;
this.canonicalCode = canonicalCode;
this.dependencies = dependencies;
- Value.call(this, type, code, span, !$notnull_bool(isConst));
+ Value.call(this, type, code, span, !isConst);
// Initializers done
}
$inherits(GlobalValue, Value);
-GlobalValue.prototype.is$GlobalValue = function(){return this;};
-GlobalValue.prototype.is$Comparable = function(){return this;};
GlobalValue.GlobalValue$fromStatic$factory = function(field, exp, dependencies) {
- var code = ($notnull_bool(exp.get$isConst()) ? exp.get$canonicalCode() : exp.code);
+ var code = (exp.get$isConst() ? exp.get$canonicalCode() : exp.code);
var codeWithComment = ('' + code + '/*' + field.declaringType.name + '.' + field.get$name() + '*/');
- return new GlobalValue(exp.type, $assert_String(codeWithComment), field.isFinal, field, null, exp, code, exp.span, dependencies.filter$1((function (d) {
+ return new GlobalValue(exp.type, codeWithComment, field.isFinal, field, null, exp, code, exp.span, dependencies.filter$1((function (d) {
return (d instanceof GlobalValue);
})
));
@@ -21824,7 +21263,7 @@ GlobalValue.GlobalValue$fromStatic$factory = function(field, exp, dependencies)
GlobalValue.GlobalValue$fromConst$factory = function(uniqueId, exp, dependencies) {
var name = ("const\$" + uniqueId + "");
var codeWithComment = ("" + name + "/*" + exp.span.get$text() + "*/");
- return new GlobalValue(exp.type, $assert_String(codeWithComment), true, null, name, exp, name, exp.span, dependencies.filter$1((function (d) {
+ return new GlobalValue(exp.type, codeWithComment, true, null, name, exp, name, exp.span, dependencies.filter$1((function (d) {
return (d instanceof GlobalValue);
})
));
@@ -21834,7 +21273,7 @@ GlobalValue.prototype.set$name = function(value) { return this.name = value; };
GlobalValue.prototype.get$canonicalCode = function() { return this.canonicalCode; };
GlobalValue.prototype.set$canonicalCode = function(value) { return this.canonicalCode = value; };
GlobalValue.prototype.get$isConst = function() {
- return $notnull_bool(this.exp.get$isConst()) && (this.field == null || $notnull_bool(this.field.isFinal));
+ return this.exp.get$isConst() && (this.field == null || this.field.isFinal);
}
GlobalValue.prototype.get$actualValue = function() {
return this.exp.get$dynamic().get$actualValue();
@@ -21869,7 +21308,7 @@ GlobalValue.prototype.compareTo = function(other) {
}
}
GlobalValue.prototype.compareTo$1 = function($0) {
- return this.compareTo(($0 && $0.is$GlobalValue()));
+ return this.compareTo($0);
};
// ********** Code for BareValue **************
function BareValue(home, outermost, span) {
@@ -21880,11 +21319,9 @@ function BareValue(home, outermost, span) {
}
$inherits(BareValue, Value);
BareValue.prototype._tryResolveMember = function(context, name) {
- $assert($eq(context, this.home), "context == home", "value.dart", 660, 12);
var member = this.type.resolveMember(name);
- if ($notnull_bool($ne(member, null))) {
- $assert(this.code == null, "code == null", "value.dart", 665, 14);
- if ($notnull_bool(this.isType)) {
+ if ($ne(member, null)) {
+ if (this.isType) {
this.code = this.type.get$jsname();
}
else {
@@ -21893,7 +21330,7 @@ BareValue.prototype._tryResolveMember = function(context, name) {
return member;
}
member = this.home.get$library().lookup(name, this.span);
- if ($notnull_bool($ne(member, null))) {
+ if ($ne(member, null)) {
return member;
}
return null;
@@ -21931,44 +21368,40 @@ function World(files) {
// Initializers done
}
World.prototype.get$coreimpl = function() {
- var $0;
- return (($0 = this.libraries.$index('dart:coreimpl')) && $0.is$Library());
+ return this.libraries.$index('dart:coreimpl');
}
World.prototype.get$dom = function() {
- var $0;
- return (($0 = this.libraries.$index('dart:dom')) && $0.is$Library());
+ return this.libraries.$index('dart:dom');
}
World.prototype.get$functionType = function() { return this.functionType; };
World.prototype.set$functionType = function(value) { return this.functionType = value; };
World.prototype.init = function() {
- var $0;
this.corelib = new Library(this.readFile('dart:core'));
this.libraries.$setindex('dart:core', this.corelib);
this._todo.add(this.corelib);
- this.voidType = (($0 = this._addToCoreLib('void', false)) && $0.is$DefinedType());
- this.dynamicType = (($0 = this._addToCoreLib('Dynamic', false)) && $0.is$DefinedType());
+ this.voidType = this._addToCoreLib('void', false);
+ this.dynamicType = this._addToCoreLib('Dynamic', false);
this.varType = this.dynamicType;
- this.objectType = (($0 = this._addToCoreLib('Object', true)) && $0.is$DefinedType());
- this.numType = (($0 = this._addToCoreLib('num', false)) && $0.is$DefinedType());
- this.intType = (($0 = this._addToCoreLib('int', false)) && $0.is$DefinedType());
- this.doubleType = (($0 = this._addToCoreLib('double', false)) && $0.is$DefinedType());
- this.boolType = (($0 = this._addToCoreLib('bool', false)) && $0.is$DefinedType());
- this.stringType = (($0 = this._addToCoreLib('String', false)) && $0.is$DefinedType());
- this.listType = (($0 = this._addToCoreLib('List', false)) && $0.is$DefinedType());
- this.mapType = (($0 = this._addToCoreLib('Map', false)) && $0.is$DefinedType());
- this.functionType = (($0 = this._addToCoreLib('Function', false)) && $0.is$DefinedType());
+ this.objectType = this._addToCoreLib('Object', true);
+ this.numType = this._addToCoreLib('num', false);
+ this.intType = this._addToCoreLib('int', false);
+ this.doubleType = this._addToCoreLib('double', false);
+ this.boolType = this._addToCoreLib('bool', false);
+ this.stringType = this._addToCoreLib('String', false);
+ this.listType = this._addToCoreLib('List', false);
+ this.mapType = this._addToCoreLib('Map', false);
+ this.functionType = this._addToCoreLib('Function', false);
this.nonNullBool = new NonNullableType(this.boolType);
}
World.prototype._addMember = function(member) {
- $assert(!$notnull_bool(member.get$isPrivate()), "!member.isPrivate", "world.dart", 145, 12);
- if ($notnull_bool(member.get$isStatic())) {
- if ($notnull_bool(member.declaringType.get$isTop())) {
+ if (member.get$isStatic()) {
+ if (member.declaringType.get$isTop()) {
this._addTopName(member);
}
return;
}
var mset = this._members.$index(member.name);
- if ($notnull_bool(mset == null)) {
+ if (mset == null) {
mset = new MemberSet(member, true);
this._members.$setindex(mset.get$name(), mset);
}
@@ -21978,24 +21411,24 @@ World.prototype._addMember = function(member) {
}
World.prototype._addTopName = function(named) {
var existing = this._topNames.$index(named.get$name());
- if ($notnull_bool($ne(existing, null))) {
+ if ($ne(existing, null)) {
this.info(('mangling matching top level name "' + named.get$name() + '" in ') + ('both "' + named.get$library().name + '" and "' + existing.get$library().name + '"'));
- if ($notnull_bool(named.get$isNative())) {
- if ($notnull_bool(existing.get$isNative())) {
+ if (named.get$isNative()) {
+ if (existing.get$isNative()) {
world.internalError(('conflicting native names "' + named.get$name() + '" ') + ('(already defined in ' + existing.get$span().get$locationText() + ')'), named.get$span());
}
else {
this._topNames.$setindex(named.get$name(), named);
- this._addJavascriptTopName((existing && existing.is$Named()));
+ this._addJavascriptTopName(existing);
}
}
- else if ($notnull_bool(named.get$library().get$isCore())) {
- if ($notnull_bool(existing.get$library().get$isCore())) {
+ else if (named.get$library().get$isCore()) {
+ if (existing.get$library().get$isCore()) {
world.internalError(('conflicting top-level names in core "' + named.get$name() + '" ') + ('(previously defined in ' + existing.get$span().get$locationText() + ')'), named.get$span());
}
else {
this._topNames.$setindex(named.get$name(), named);
- this._addJavascriptTopName((existing && existing.is$Named()));
+ this._addJavascriptTopName(existing);
}
}
else {
@@ -22009,13 +21442,13 @@ World.prototype._addTopName = function(named) {
World.prototype._addJavascriptTopName = function(named) {
named.set$jsname(('' + named.get$library().get$jsname() + '_' + named.get$name() + ''));
var existing = this._topNames.$index(named.get$jsname());
- if ($notnull_bool($ne(existing, null)) && $notnull_bool($ne(existing, named))) {
+ if ($ne(existing, null) && $ne(existing, named)) {
world.internalError(('name mangling failed for "' + named.get$jsname() + '" ') + ('("' + named.get$jsname() + '" defined also in ' + existing.get$span().get$locationText() + ')'), named.get$span());
}
this._topNames.$setindex(named.get$jsname(), named);
}
World.prototype._addType = function(type) {
- if (!$notnull_bool(type.get$isTop())) this._addTopName(type);
+ if (!type.get$isTop()) this._addTopName(type);
}
World.prototype._addToCoreLib = function(name, isClass) {
var ret = new DefinedType(name, this.corelib, null, isClass);
@@ -22040,26 +21473,26 @@ World.prototype.compile = function() {
}
try {
this.info(('compiling ' + options.dartScript + ' with corelib ' + this.corelib + ''));
- if (!$notnull_bool(this.runLeg())) this.runCompilationPhases();
+ if (!this.runLeg()) this.runCompilationPhases();
} catch (exc) {
exc = $toDartException(exc);
- if ($notnull_bool(this.get$hasErrors()) && !$notnull_bool(options.throwOnErrors)) {
+ if (this.get$hasErrors() && !options.throwOnErrors) {
}
else {
throw exc;
}
}
this.printStatus();
- return !$notnull_bool(this.get$hasErrors());
+ return !this.get$hasErrors();
}
World.prototype.runLeg = function() {
var $this = this; // closure support
- if (!$notnull_bool(options.enableLeg)) return false;
- var res = $assert_bool(this.withTiming('try leg compile', (function () {
+ if (!options.enableLeg) return false;
+ var res = this.withTiming('try leg compile', (function () {
return compile($this);
})
- ));
- if (!$notnull_bool(res) && $notnull_bool(options.legOnly)) {
+ );
+ if (!res && options.legOnly) {
this.fatal(("Leg could not compile " + options.dartScript + ""));
return true;
}
@@ -22078,7 +21511,7 @@ World.prototype.runCompilationPhases = function() {
this.withTiming('generate code', (function () {
var mainMembers = lib.topType.resolveMember('main');
var main = null;
- if ($notnull_bool(mainMembers == null) || mainMembers.get$members().length == 0) {
+ if (mainMembers == null || mainMembers.get$members().length == 0) {
$this.fatal('no main method specified');
}
else if (mainMembers.get$members().length > 1) {
@@ -22101,7 +21534,6 @@ World.prototype.runCompilationPhases = function() {
}
World.prototype.getGeneratedCode = function() {
if (this.legCode != null) {
- $assert(options.enableLeg, "options.enableLeg", "world.dart", 310, 14);
return this.legCode;
}
else {
@@ -22120,12 +21552,11 @@ World.prototype.readFile = function(filename) {
}
}
World.prototype.getOrAddLibrary = function(filename) {
- var $0;
- var library = (($0 = this.libraries.$index(filename)) && $0.is$Library());
+ var library = this.libraries.$index(filename);
if (library == null) {
library = new Library(this.readFile(filename));
this.info(('read library ' + filename + ''));
- if (!$notnull_bool(library.get$isCore()) && !library.imports.some((function (li) {
+ if (!library.get$isCore() && !library.imports.some((function (li) {
return li.get$library().get$isCore();
})
)) {
@@ -22170,7 +21601,7 @@ World.prototype._message = function(message, span, span1, span2, throwing) {
if (span2 != null) {
print(span2.toMessageString(message));
}
- if ($notnull_bool(throwing)) {
+ if (throwing) {
$throw(new CompilerException(message, span));
}
}
@@ -22180,20 +21611,20 @@ World.prototype.error = function(message, span, span1, span2) {
}
World.prototype.warning = function(message, span, span1, span2) {
this.warnings++;
- if ($notnull_bool(options.showWarnings)) {
+ if (options.showWarnings) {
this._message(('warning: ' + message + ''), span, span1, span2, options.throwOnWarnings);
}
}
World.prototype.fatal = function(message, span, span1, span2) {
this.errors++;
this.seenFatal = true;
- this._message(('fatal: ' + message + ''), span, span1, span2, $notnull_bool(options.throwOnFatal) || $notnull_bool(options.throwOnErrors));
+ this._message(('fatal: ' + message + ''), span, span1, span2, options.throwOnFatal || options.throwOnErrors);
}
World.prototype.internalError = function(message, span, span1, span2) {
this._message(('We are sorry, but... ' + message + ''), span, span1, span2, true);
}
World.prototype.info = function(message, span, span1, span2) {
- if ($notnull_bool(options.showInfo)) {
+ if (options.showInfo) {
this._message(('info: ' + message + ''), span, span1, span2, false);
}
}
@@ -22202,7 +21633,7 @@ World.prototype.get$hasErrors = function() {
}
World.prototype.printStatus = function() {
this.info(('compiled ' + this.dartBytesRead + ' bytes Dart -> ' + this.jsBytesWritten + ' bytes JS'));
- if ($notnull_bool(this.get$hasErrors())) {
+ if (this.get$hasErrors()) {
print(('compilation failed with ' + this.errors + ' errors'));
}
else {
@@ -22224,7 +21655,6 @@ World.prototype.withTiming = function(name, f) {
}
// ********** Code for FrogOptions **************
function FrogOptions(homedir, args, files) {
- var $0;
this.enableLeg = false
this.legOnly = false
this.enableAsserts = false
@@ -22317,30 +21747,30 @@ function FrogOptions(homedir, args, files) {
default:
- if ($notnull_bool(arg.endsWith$1('.dart'))) {
- this.dartScript = $assert_String(arg);
- this.childArgs = (($0 = args.getRange(i + 1, args.length - i - 1)) && $0.is$List$String());
+ if (arg.endsWith$1('.dart')) {
+ this.dartScript = arg;
+ this.childArgs = args.getRange(i + 1, args.length - i - 1);
break loop;
}
- else if ($notnull_bool(arg.startsWith$1('--out='))) {
+ else if (arg.startsWith$1('--out=')) {
this.outfile = arg.substring$1('--out='.length);
}
- else if ($notnull_bool(arg.startsWith$1('--libdir='))) {
- this.libDir = $assert_String(arg.substring$1('--libdir='.length));
+ else if (arg.startsWith$1('--libdir=')) {
+ this.libDir = arg.substring$1('--libdir='.length);
passedLibDir = true;
}
else {
- if (!$notnull_bool(ignoreUnrecognizedFlags)) {
+ if (!ignoreUnrecognizedFlags) {
print(('unrecognized flag: "' + arg + '"'));
}
}
}
}
- if (!$notnull_bool(passedLibDir) && !$notnull_bool(files.fileExists(this.libDir))) {
+ if (!passedLibDir && !files.fileExists(this.libDir)) {
var temp = 'frog/lib';
- if ($notnull_bool(files.fileExists($assert_String(temp)))) {
- this.libDir = $assert_String(temp);
+ if (files.fileExists(temp)) {
+ this.libDir = temp;
}
else {
this.libDir = 'lib';
@@ -22354,11 +21784,11 @@ function LibraryReader() {
}
LibraryReader.prototype.readFile = function(fullname) {
var filename = this._specialLibs.$index(fullname);
- if ($notnull_bool(filename == null)) {
+ if (filename == null) {
filename = fullname;
}
- if ($notnull_bool(world.files.fileExists($assert_String(filename)))) {
- return new SourceFile(filename, world.files.readAll($assert_String(filename)));
+ if (world.files.fileExists(filename)) {
+ return new SourceFile(filename, world.files.readAll(filename));
}
else {
world.error(('File not found: ' + filename + ''));
@@ -22370,7 +21800,6 @@ function VarMember(name) {
this.name = name;
// Initializers done
}
-VarMember.prototype.is$VarMember = function(){return this;};
VarMember.prototype.get$name = function() { return this.name; };
VarMember.prototype.get$returnType = function() {
return world.varType;
@@ -22379,10 +21808,10 @@ VarMember.prototype.invoke = function(context, node, target, args) {
return new Value(this.get$returnType(), ('' + target.code + '.' + this.name + '(' + args.getCode() + ')'), node.span, true);
}
VarMember.prototype.generate$1 = function($0) {
- return this.generate(($0 && $0.is$CodeWriter()));
+ return this.generate($0);
};
VarMember.prototype.invoke$4 = function($0, $1, $2, $3) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()));
+ return this.invoke($0, $1, $2, $3);
};
// ********** Code for VarFunctionStub **************
function VarFunctionStub(name, callArgs) {
@@ -22392,9 +21821,8 @@ function VarFunctionStub(name, callArgs) {
world.gen.corejs.useGenStub = true;
}
$inherits(VarFunctionStub, VarMember);
-VarFunctionStub.prototype.is$VarFunctionStub = function(){return this;};
VarFunctionStub.prototype.generate = function(code) {
- if ($notnull_bool(this.args.get$hasNames())) {
+ if (this.args.get$hasNames()) {
this.generateNamed(code);
}
else {
@@ -22423,7 +21851,7 @@ VarFunctionStub.prototype.generateNamed = function(w) {
w.exitBlock('}');
}
VarFunctionStub.prototype.generate$1 = function($0) {
- return this.generate(($0 && $0.is$CodeWriter()));
+ return this.generate($0);
};
// ********** Code for VarMethodStub **************
function VarMethodStub(name, member, args, body) {
@@ -22435,8 +21863,7 @@ function VarMethodStub(name, member, args, body) {
}
$inherits(VarMethodStub, VarMember);
VarMethodStub.prototype.get$returnType = function() {
- var $0;
- return (($0 = this.member != null ? this.member.get$returnType() : world.varType) && $0.is$lang_Type());
+ return this.member != null ? this.member.get$returnType() : world.varType;
}
VarMethodStub.prototype.get$typeName = function() {
return this.member != null ? this.member.declaringType.get$jsname() : 'Object';
@@ -22446,7 +21873,7 @@ VarMethodStub.prototype.generate = function(code) {
this.generateBody(code, ';');
}
VarMethodStub.prototype.generateBody = function(code, end) {
- if ($notnull_bool(this._useDirectCall(this.member, this.args))) {
+ if (this._useDirectCall(this.member, this.args)) {
code.writeln(('' + this.get$typeName() + '.prototype.' + this.member.get$jsname() + '' + end + ''));
}
else {
@@ -22457,13 +21884,13 @@ VarMethodStub.prototype.generateBody = function(code, end) {
}
VarMethodStub.prototype._useDirectCall = function(member, args) {
if ((member instanceof MethodMember) && $ne(member.declaringType.get$library(), world.get$dom())) {
- var method = (member && member.is$MethodMember());
- if ($notnull_bool(method.needsArgumentConversion(args))) {
+ var method = member;
+ if (method.needsArgumentConversion(args)) {
return false;
}
for (var i = args.get$length();
i < method.parameters.length; i++) {
- if ($notnull_bool($ne(method.parameters.$index(i).get$value().code, 'null'))) {
+ if ($ne(method.parameters.$index(i).get$value().code, 'null')) {
return false;
}
}
@@ -22474,10 +21901,10 @@ VarMethodStub.prototype._useDirectCall = function(member, args) {
}
}
VarMethodStub.prototype.generate$1 = function($0) {
- return this.generate(($0 && $0.is$CodeWriter()));
+ return this.generate($0);
};
VarMethodStub.prototype.generateBody$2 = function($0, $1) {
- return this.generateBody(($0 && $0.is$CodeWriter()), $assert_String($1));
+ return this.generateBody($0, $1);
};
// ********** Code for VarMethodSet **************
function VarMethodSet(name, members, callArgs, returnType) {
@@ -22491,7 +21918,7 @@ $inherits(VarMethodSet, VarMember);
VarMethodSet.prototype.get$members = function() { return this.members; };
VarMethodSet.prototype.get$returnType = function() { return this.returnType; };
VarMethodSet.prototype.get$baseName = function() {
- return $assert_String(this.members.$index(0).get$name());
+ return this.members.$index(0).get$name();
}
VarMethodSet.prototype.invoke = function(context, node, target, args) {
this._invokeMembers(context, node);
@@ -22508,23 +21935,23 @@ VarMethodSet.prototype._invokeMembers = function(context, node) {
var result = member.invoke$4$isDynamic(context, node, target, this.args, true);
var stub = new VarMethodStub(this.name, member, this.args, result);
var type = member.declaringType;
- if ($notnull_bool(type.get$isObject())) {
+ if (type.get$isObject()) {
objectStub = stub;
}
else if ($ne(type.get$library(), world.get$dom())) {
- VarMethodSet._addVarStub((type && type.is$lang_Type()), (stub && stub.is$VarMember()));
+ VarMethodSet._addVarStub(type, stub);
}
else {
this._fallbackStubs.add(stub);
}
}
- if ($notnull_bool(objectStub == null)) {
+ if (objectStub == null) {
var target = new Value(world.objectType, 'this', node.span, true);
var result = target.invokeNoSuchMethod(context, this.get$baseName(), node, this.args);
objectStub = new VarMethodStub(this.name, null, this.args, result);
}
if (this._fallbackStubs.length == 0) {
- VarMethodSet._addVarStub(world.objectType, (objectStub && objectStub.is$VarMember()));
+ VarMethodSet._addVarStub(world.objectType, objectStub);
}
else {
this._fallbackStubs.add(objectStub);
@@ -22543,21 +21970,21 @@ VarMethodSet.prototype.generate = function(code) {
for (var $i = 0;$i < $list.length; $i++) {
var stub = $list.$index($i);
code.write(('"' + stub.get$typeName() + '": '));
- stub.generateBody$2(code, $notnull_bool($eq(stub, lastOne)) ? '' : ',');
+ stub.generateBody$2(code, $eq(stub, lastOne) ? '' : ',');
}
code.exitBlock('});');
}
VarMethodSet.prototype.generate$1 = function($0) {
- return this.generate(($0 && $0.is$CodeWriter()));
+ return this.generate($0);
};
VarMethodSet.prototype.invoke$4 = function($0, $1, $2, $3) {
- return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Arguments()));
+ return this.invoke($0, $1, $2, $3);
};
// ********** Code for top level **************
function map(source, mapper) {
var result = new ListFactory();
if (!!(source && source.is$List)) {
- var list = (source && source.is$List());
+ var list = source;
result.length = list.length;
for (var i = 0;
i < list.length; i++) {
@@ -22575,17 +22002,16 @@ function map(source, mapper) {
function reduce(source, callback, initialValue) {
var i = source.iterator();
var current = initialValue;
- if ($notnull_bool(current == null) && $notnull_bool(i.hasNext$0())) {
+ if (current == null && i.hasNext$0()) {
current = i.next$0();
}
- while ($notnull_bool(i.hasNext$0())) {
+ while (i.hasNext$0()) {
current = callback.call$2(current, i.next$0());
}
return current;
}
function orderValuesByKeys(map) {
- var $0;
- var keys = (($0 = map.getKeys()) && $0.is$List());
+ var keys = map.getKeys();
keys.sort((function (x, y) {
return x.compareTo$1(y);
})
@@ -22605,14 +22031,14 @@ function isRawMultilineString(text) {
}
function parseStringLiteral(lit) {
if (lit.startsWith('@')) {
- if ($notnull_bool(isRawMultilineString(lit))) {
+ if (isRawMultilineString(lit)) {
return stripLeadingNewline(lit.substring(4, lit.length - 3));
}
else {
return lit.substring(2, lit.length - 1);
}
}
- else if ($notnull_bool(isMultilineString(lit))) {
+ else if (isMultilineString(lit)) {
lit = lit.substring(3, lit.length - 3).replaceAll('\\\$', '\$');
return stripLeadingNewline(lit);
}
@@ -22638,7 +22064,6 @@ function stripLeadingNewline(text) {
}
var world;
function initializeWorld(files) {
- $assert(world == null, "world == null", "world.dart", 13, 10);
world = new World(files);
world.init();
}
@@ -22647,22 +22072,21 @@ function lang_compile(homedir, args, files) {
initializeWorld(files);
var success = world.compile();
if (options.outfile != null) {
- if ($notnull_bool(success)) {
+ if (success) {
var code = world.getGeneratedCode();
if (!options.outfile.endsWith('.js')) {
code = '#!/usr/bin/env node\n' + code;
}
- world.files.writeString(options.outfile, $assert_String(code));
+ world.files.writeString(options.outfile, code);
}
else {
world.files.writeString(options.outfile, "throw 'Sorry, but I could not generate reasonable code to run.\\n';");
}
}
- return $assert_bool(success);
+ return success;
}
var options;
function parseOptions(homedir, args, files) {
- $assert(options == null, "options == null", "frog_options.dart", 10, 10);
options = new FrogOptions(homedir, args, files);
}
function _getCallStubName(name, args) {
@@ -22676,14 +22100,14 @@ function _getCallStubName(name, args) {
// ********** Library frog **************
// ********** Code for top level **************
function main() {
- var homedir = path.dirname(fs.realpathSync($assert_String(process.argv.$index(1))));
+ var homedir = path.dirname(fs.realpathSync(process.argv.$index(1)));
var argv = ListFactory.ListFactory$from$factory(process.argv);
- if ($notnull_bool(lang_compile($assert_String(homedir), (argv && argv.is$List$String()), new NodeFileSystem()))) {
+ if (lang_compile(homedir, argv, new NodeFileSystem())) {
var code = world.getGeneratedCode();
- if (!$notnull_bool(options.compileOnly)) {
+ if (!options.compileOnly) {
process.argv = [argv.$index(0), argv.$index(1)];
process.argv.addAll(options.childArgs);
- vm.runInNewContext($assert_String(code), createSandbox());
+ vm.runInNewContext(code, createSandbox());
}
}
else {

Powered by Google App Engine
This is Rietveld 408576698