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

Unified Diff: frog/frogsh

Issue 8509035: TBR (red build bot). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | frog/gen.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: frog/frogsh
diff --git a/frog/frogsh b/frog/frogsh
index b2578e2311e903cacbf4b377dcf85f48ec4a37ff..f7d9e821418d98d0e2885666380f15678b249d35 100755
--- a/frog/frogsh
+++ b/frog/frogsh
@@ -207,6 +207,10 @@ Object.prototype.get$dynamic = function() {
Object.prototype.noSuchMethod = function(name, args) {
$throw(new NoSuchMethodException(this, name, args));
}
+Object.prototype.forEach$1 = function($0) {
+ return this.noSuchMethod("forEach", [$0]);
+}
+;
Object.prototype.get_$3 = function($0, $1, $2) {
return this.noSuchMethod("get_", [$0, $1, $2]);
}
@@ -871,7 +875,6 @@ ListFactory.prototype.is$List$ArgumentNode = function(){return this;};
ListFactory.prototype.is$List$EvaluatedValue = function(){return this;};
ListFactory.prototype.is$List$String = function(){return this;};
ListFactory.prototype.is$List$T = 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$Iterable = function(){return this;};
@@ -915,6 +918,7 @@ ListFactory.prototype.isEmpty = function() {
ListFactory.prototype.iterator = function() {
return new ListIterator(this);
}
+ListFactory.prototype.forEach$1 = ListFactory.prototype.forEach;
ListFactory$DoubleLinkedQueueEntry$KeyValuePair$K$V = ListFactory;
ListFactory$DoubleLinkedQueueEntry$KeyValuePair$Node$Element = ListFactory;
ListFactory$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword = ListFactory;
@@ -1020,6 +1024,7 @@ function ImmutableMap(keyValuePairs) {
this._internal.$setindex(keyValuePairs.$index(i), keyValuePairs.$index(i + 1));
}
}
+ImmutableMap.prototype.is$Map = function(){return this;};
ImmutableMap.prototype.$index = function(key) {
return this._internal.$index(key);
}
@@ -1047,6 +1052,7 @@ ImmutableMap.prototype.containsKey = function(key) {
ImmutableMap.prototype.$setindex = function(key, value) {
$throw(const$221/*const IllegalAccessException()*/);
}
+ImmutableMap.prototype.forEach$1 = ImmutableMap.prototype.forEach;
// ********** Code for MatchImplementation **************
function MatchImplementation(pattern, str, _start, _end, _groups) {
this.pattern = pattern;
@@ -1131,6 +1137,7 @@ function HashMapImplementation() {
this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
this._values = new ListFactory$V(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
+HashMapImplementation.prototype.is$Map = function(){return this;};
HashMapImplementation.HashMapImplementation$from$factory = function(other) {
var result = new HashMapImplementation();
other.forEach((function (key, value) {
@@ -1291,6 +1298,7 @@ HashMapImplementation.prototype.getValues = function() {
HashMapImplementation.prototype.containsKey = function(key) {
return (this._probeForLookup(key) != -1);
}
+HashMapImplementation.prototype.forEach$1 = HashMapImplementation.prototype.forEach;
// ********** Code for HashMapImplementation$E$E **************
function HashMapImplementation$E$E() {
// Initializers done
@@ -1304,6 +1312,7 @@ function HashMapImplementation$E$E() {
this._values = new ListFactory$E(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$E$E, HashMapImplementation);
+HashMapImplementation$E$E.prototype.is$Map = function(){return this;};
HashMapImplementation$E$E._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1449,6 +1458,7 @@ function HashMapImplementation$Element$HInstruction() {
this._values = new ListFactory$HInstruction(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$Element$HInstruction, HashMapImplementation);
+HashMapImplementation$Element$HInstruction.prototype.is$Map = function(){return this;};
HashMapImplementation$Element$HInstruction.HashMapImplementation$from$factory = function(other) {
var result = new HashMapImplementation();
other.forEach((function (key, value) {
@@ -1473,6 +1483,7 @@ function HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V() {
this._values = new ListFactory$DoubleLinkedQueueEntry$KeyValuePair$K$V(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V, HashMapImplementation);
+HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$Map = function(){return this;};
HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1489,6 +1500,7 @@ function HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$Ele
this._values = new ListFactory$DoubleLinkedQueueEntry$KeyValuePair$Node$Element(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$Element, HashMapImplementation);
+HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$Element.prototype.is$Map = function(){return this;};
HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$Element._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1505,6 +1517,7 @@ function HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$String
this._values = new ListFactory$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword, HashMapImplementation);
+HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword.prototype.is$Map = function(){return this;};
HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1521,6 +1534,7 @@ function HashMapImplementation$String$EvaluatedValue() {
this._values = new ListFactory$EvaluatedValue(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$String$EvaluatedValue, HashMapImplementation);
+HashMapImplementation$String$EvaluatedValue.prototype.is$Map = function(){return this;};
HashMapImplementation$String$EvaluatedValue._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1537,6 +1551,7 @@ function HashMapImplementation$String$String() {
this._values = new ListFactory$String(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$String$String, HashMapImplementation);
+HashMapImplementation$String$String.prototype.is$Map = function(){return this;};
HashMapImplementation$String$String._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1553,6 +1568,7 @@ function HashMapImplementation$Type$Type() {
this._values = new ListFactory$Type(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$Type$Type, HashMapImplementation);
+HashMapImplementation$Type$Type.prototype.is$Map = function(){return this;};
HashMapImplementation$Type$Type._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1569,6 +1585,7 @@ function HashMapImplementation$int$int() {
this._values = new ListFactory$int(8/*HashMapImplementation._INITIAL_CAPACITY*/);
}
$inherits(HashMapImplementation$int$int, HashMapImplementation);
+HashMapImplementation$int$int.prototype.is$Map = function(){return this;};
HashMapImplementation$int$int._computeLoadLimit = function(capacity) {
return $truncdiv((capacity * 3), 4);
}
@@ -1638,6 +1655,7 @@ Object.defineProperty(HashSetImplementation.prototype, "length", {
HashSetImplementation.prototype.iterator = function() {
return new HashSetIterator$E(this);
}
+HashSetImplementation.prototype.forEach$1 = HashSetImplementation.prototype.forEach;
// ********** Code for HashSetImplementation$E **************
function HashSetImplementation$E() {
// Initializers done
@@ -1743,6 +1761,7 @@ function LinkedHashMapImplementation() {
this._map = new HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V();
this._list = new DoubleLinkedQueue$KeyValuePair$K$V();
}
+LinkedHashMapImplementation.prototype.is$Map = function(){return this;};
LinkedHashMapImplementation.prototype.$setindex = function(key, value) {
if ($notnull_bool(this._map.containsKey(key))) {
this._map.$index(key).get$element().value = value;
@@ -1796,6 +1815,7 @@ Object.defineProperty(LinkedHashMapImplementation.prototype, "length", {
LinkedHashMapImplementation.prototype.isEmpty = function() {
return this.get$length() == 0;
}
+LinkedHashMapImplementation.prototype.forEach$1 = LinkedHashMapImplementation.prototype.forEach;
// ********** Code for LinkedHashMapImplementation$Node$Element **************
function LinkedHashMapImplementation$Node$Element() {
// Initializers done
@@ -1803,6 +1823,7 @@ function LinkedHashMapImplementation$Node$Element() {
this._list = new DoubleLinkedQueue$KeyValuePair$Node$Element();
}
$inherits(LinkedHashMapImplementation$Node$Element, LinkedHashMapImplementation);
+LinkedHashMapImplementation$Node$Element.prototype.is$Map = function(){return this;};
// ********** Code for LinkedHashMapImplementation$String$Keyword **************
function LinkedHashMapImplementation$String$Keyword() {
// Initializers done
@@ -1810,6 +1831,7 @@ function LinkedHashMapImplementation$String$Keyword() {
this._list = new DoubleLinkedQueue$KeyValuePair$String$Keyword();
}
$inherits(LinkedHashMapImplementation$String$Keyword, LinkedHashMapImplementation);
+LinkedHashMapImplementation$String$Keyword.prototype.is$Map = function(){return this;};
// ********** Code for DoubleLinkedQueueEntry **************
function DoubleLinkedQueueEntry(e) {
// Initializers done
@@ -2046,6 +2068,7 @@ DoubleLinkedQueue.prototype.filter = function(f) {
DoubleLinkedQueue.prototype.iterator = function() {
return new _DoubleLinkedQueueIterator$E(this._sentinel);
}
+DoubleLinkedQueue.prototype.forEach$1 = DoubleLinkedQueue.prototype.forEach;
// ********** Code for DoubleLinkedQueue$E **************
function DoubleLinkedQueue$E() {
// Initializers done
@@ -7022,6 +7045,9 @@ function Literal$SourceString(token, handler) {
// Initializers done
}
$inherits(Literal$SourceString, Literal);
+Literal$SourceString.prototype.hashCode = function() {
+ return this._hashCode;
+}
// ********** Code for Literal$bool **************
function Literal$bool(token, handler) {
this.token = token;
@@ -7029,6 +7055,9 @@ function Literal$bool(token, handler) {
// Initializers done
}
$inherits(Literal$bool, Literal);
+Literal$bool.prototype.hashCode = function() {
+ return this._hashCode;
+}
// ********** Code for Literal$double **************
function Literal$double(token, handler) {
this.token = token;
@@ -7036,6 +7065,9 @@ function Literal$double(token, handler) {
// Initializers done
}
$inherits(Literal$double, Literal);
+Literal$double.prototype.hashCode = function() {
+ return this._hashCode;
+}
// ********** Code for Literal$int **************
function Literal$int(token, handler) {
this.token = token;
@@ -7043,6 +7075,9 @@ function Literal$int(token, handler) {
// Initializers done
}
$inherits(Literal$int, Literal);
+Literal$int.prototype.hashCode = function() {
+ return this._hashCode;
+}
// ********** Code for LiteralInt **************
function LiteralInt(token, handler) {
Literal$int.call(this, token, handler);
@@ -10176,7 +10211,7 @@ WorldGenerator.prototype.writeType = function(type) {
var typeName = $notnull_bool(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()))) {
- var nativeName = type.get$definition().get$nativeType();
+ var nativeName = type.get$definition().nativeType;
if ($notnull_bool($eq(nativeName, ''))) {
this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
}
@@ -10186,13 +10221,13 @@ WorldGenerator.prototype.writeType = function(type) {
}
if ($notnull_bool(type.get$isTop())) {
}
- else if ($notnull_bool(type.get$constructors().get$length() == 0)) {
+ else if ($notnull_bool(type.constructors.get$length() == 0)) {
if ($notnull_bool(!$notnull_bool(type.get$isNativeType()))) {
this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
}
}
else {
- var standardConstructor = (($0 = type.get$constructors().$index('')) && $0.is$Member());
+ var standardConstructor = (($0 = type.constructors.$index('')) && $0.is$Member());
if ($notnull_bool(standardConstructor == null || standardConstructor.generator == null)) {
if ($notnull_bool(!$notnull_bool(type.get$isNativeType()))) {
this.writer.writeln(('function ' + type.get$jsname() + '() {}'));
@@ -10201,8 +10236,8 @@ WorldGenerator.prototype.writeType = function(type) {
else {
standardConstructor.generator.writeDefinition(this.writer, null);
}
- var $list = type.get$constructors().getValues();
- for (var $i = type.get$constructors().getValues().iterator(); $i.hasNext(); ) {
+ var $list = type.constructors.getValues();
+ for (var $i = type.constructors.getValues().iterator(); $i.hasNext(); ) {
var c = $i.next();
if ($notnull_bool($ne(c.generator, null) && $ne(c, standardConstructor))) {
c.generator.writeDefinition(this.writer, null);
@@ -10256,8 +10291,8 @@ WorldGenerator.prototype.writeType = function(type) {
}
}
}
- type.get$factories().forEach(this.get$_writeMethod());
- var $list = this._orderValues(type.get$members());
+ type.factories.forEach$1(this.get$_writeMethod());
+ var $list = this._orderValues((($0 = type.members) && $0.is$Map()));
for (var $i = 0;$i < $list.length; $i++) {
var member = $list.$index($i);
if ($notnull_bool((member instanceof FieldMember))) {
@@ -10353,8 +10388,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;
}
@@ -10375,7 +10409,7 @@ WorldGenerator.prototype.useMapFactory = function() {
this.corejs.useMap = true;
var factType = world.get$coreimpl().types.$index('HashMapImplementation');
var m = factType.resolveMember('\$setindex');
- this.genMethod((($0 = m.get$members().$index(0)) && $0.is$Member()));
+ this.genMethod((($0 = m.members.$index(0)) && $0.is$Member()));
var c = factType.getConstructor('');
this.genMethod((c && c.is$Member()));
return factType;
@@ -10482,8 +10516,7 @@ function MethodGenerator(method, enclosingMethod) {
this._scope = new BlockScope(this, null, false);
}
if ($notnull_bool(this.enclosingMethod != null && this.method.name != '')) {
- var m = (($0 = this.method) && $0.is$MethodMember());
- this._scope.create(m.name, m.get$functionType(), m.definition, false);
+ this._scope.create(this.method.name, this.method.get$functionType(), (($0 = this.method.get$definition()) && $0.is$lang_Node()), false);
}
this._usedTemps = new HashSetImplementation();
this._freeTemps = [];
@@ -10549,7 +10582,6 @@ MethodGenerator.prototype.run = function() {
}
}
MethodGenerator.prototype.writeDefinition = function(defWriter, lambda) {
- var $0;
var paramCode = this._paramCode;
var names = null;
if ($notnull_bool(this.captures != null && this.captures.get$length() > 0)) {
@@ -10603,7 +10635,7 @@ MethodGenerator.prototype.writeDefinition = function(defWriter, lambda) {
defWriter.writeln('var \$this = this; // closure support');
}
if ($notnull_bool(this._usedTemps.get$length() > 0 || this._freeTemps.length > 0)) {
- $assert(this._usedTemps.get$length() == 0, "_usedTemps.length == 0", "gen.dart", 694, 14);
+ $assert(this._usedTemps.get$length() == 0, "_usedTemps.length == 0", "gen.dart", 693, 14);
this._freeTemps.addAll(this._usedTemps);
this._freeTemps.sort((function (x, y) {
return x.compareTo(y);
@@ -10625,48 +10657,41 @@ MethodGenerator.prototype.writeDefinition = function(defWriter, lambda) {
defWriter.writeln(('' + this.method.declaringType.get$jsname() + '.' + this.method.get$constructorName() + '\$ctor.prototype = ') + ('' + this.method.declaringType.get$jsname() + '.prototype;'));
}
this._provideOptionalParamInfo(defWriter);
- if ($notnull_bool((this.method instanceof MethodMember))) {
- var m = (($0 = this.method) && $0.is$MethodMember());
- if ($notnull_bool(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)) {
- world.internalError('bound m accessed with field syntax');
- }
+ if ($notnull_bool((this.method instanceof MethodMember) && this.method._providePropertySyntax)) {
+ defWriter.enterBlock(('' + this.method.declaringType.get$jsname() + '.prototype.get\$' + this.method.get$jsname() + ' = function() {'));
+ defWriter.writeln(('return ' + this.method.declaringType.get$jsname() + '.prototype.' + this.method.get$jsname() + '.bind(this);'));
+ defWriter.exitBlock('}');
+ if ($notnull_bool(this.method._provideFieldSyntax)) {
+ world.internalError('bound method accessed with field syntax');
}
}
}
MethodGenerator.prototype._provideOptionalParamInfo = function(defWriter) {
- var $0;
- if ($notnull_bool((this.method instanceof MethodMember))) {
- var meth = (($0 = this.method) && $0.is$MethodMember());
- if ($notnull_bool(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())) {
- optNames.add(param.get$name());
- optValues.add(MethodGenerator._escapeString(param.get$value().code));
- }
+ if ($notnull_bool((this.method instanceof MethodMember) && this.method._provideOptionalParamInfo)) {
+ var optNames = [];
+ var optValues = [];
+ this.method.genParameterValues();
+ var $list = this.method.get$parameters();
+ for (var $i = 0;$i < $list.length; $i++) {
+ var param = $list.$index($i);
+ if ($notnull_bool(param.get$isOptional())) {
+ optNames.add(param.get$name());
+ optValues.add(MethodGenerator._escapeString(param.get$value().code));
}
- if ($notnull_bool(optNames.length > 0)) {
- var start = '';
- if ($notnull_bool(meth.isStatic)) {
- if ($notnull_bool(!$notnull_bool(meth.declaringType.get$isTop()))) {
- start = meth.declaringType.get$jsname() + '.';
- }
- }
- else {
- start = meth.declaringType.get$jsname() + '.prototype.';
+ }
+ if ($notnull_bool(optNames.length > 0)) {
+ var start = '';
+ if ($notnull_bool(this.method.get$isStatic())) {
+ if ($notnull_bool(!$notnull_bool(this.method.declaringType.get$isTop()))) {
+ start = this.method.declaringType.get$jsname() + '.';
}
- optNames.addAll(optValues);
- var optional = "['" + Strings.join((optNames && optNames.is$List$String()), "', '") + "']";
- defWriter.writeln(('' + start + '' + meth.get$jsname() + '.\$optional = ' + optional + ''));
}
+ else {
+ start = this.method.declaringType.get$jsname() + '.prototype.';
+ }
+ optNames.addAll(optValues);
+ var optional = "['" + Strings.join((optNames && optNames.is$List$String()), "', '") + "']";
+ defWriter.writeln(('' + start + '' + this.method.get$jsname() + '.\$optional = ' + optional + ''));
}
}
}
@@ -10771,10 +10796,10 @@ MethodGenerator.prototype.writeBody = function() {
this.writer.comment('// Initializers done');
}
if ($notnull_bool($ne(initializedFields, null))) {
- var $list = this.method.declaringType.get$members().getKeys();
- for (var $i = this.method.declaringType.get$members().getKeys().iterator(); $i.hasNext(); ) {
+ var $list = this.method.declaringType.members.getKeys();
+ for (var $i = this.method.declaringType.members.getKeys().iterator(); $i.hasNext(); ) {
var name = $i.next();
- var member = this.method.declaringType.get$members().$index(name);
+ var member = this.method.declaringType.members.$index(name);
if ($notnull_bool((member instanceof FieldMember) && member.isFinal && !$notnull_bool(member.get$isStatic()) && !$notnull_bool(initializedFields.contains(name)))) {
world.error(('Field "' + name + '" is final and was not initialized'), this.method.get$definition().get$span());
}
@@ -10837,11 +10862,11 @@ MethodGenerator._escapeString = function(text) {
return text.replaceAll('\\', '\\\\').replaceAll('"', '\\"').replaceAll('\n', '\\n').replaceAll('\r', '\\r');
}
MethodGenerator.prototype.visitStatementsInBlock = function(body) {
+ var $0;
if ($notnull_bool((body instanceof BlockStatement))) {
- var block = (body && body.is$BlockStatement());
- var $list = block.body;
- for (var $i = 0;$i < $list.length; $i++) {
- var stmt = $list.$index($i);
+ var $list = body.body;
+ for (var $i = body.body.iterator(); $i.hasNext(); ) {
+ var stmt = $i.next();
stmt.visit(this);
}
}
@@ -10929,7 +10954,7 @@ 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()), (($0 = this.method.get$definition()) && $0.is$lang_Node()), false);
+ var funcValue = this._scope.create($assert_String(name), meth.get$functionType(), (($0 = this.method.get$definition()) && $0.is$lang_Node()), false);
meth.generator.writeDefinition(this.writer, null);
return false;
}
@@ -10969,7 +10994,7 @@ MethodGenerator.prototype.visitAssertStatement = function(node) {
if ($notnull_bool(options.enableAsserts)) {
var err = world.corelib.types.$index('AssertError');
world.gen.genMethod((($0 = err.getConstructor('')) && $0.is$Member()));
- world.gen.genMethod((($0 = err.get$members().$index('toString')) && $0.is$Member()));
+ world.gen.genMethod((($0 = err.members.$index('toString')) && $0.is$Member()));
var span = node.test.span;
var line = span.file.getLine(span.start);
var column = span.file.getColumn($assert_num(line), span.start);
@@ -11096,7 +11121,7 @@ MethodGenerator.prototype._genToDartException = function(ex, node) {
for (var $i = types.iterator(); $i.hasNext(); ) {
var name = $i.next();
world.corelib.types.$index(name).markUsed();
- world.corelib.types.$index(name).get$members().$index('toString').invoke$4(this, node, target, Arguments.get$EMPTY());
+ world.corelib.types.$index(name).members.$index('toString').invoke$4(this, node, target, Arguments.get$EMPTY());
}
this.writer.writeln(('' + ex + ' = \$toDartException(' + ex + ');'));
world.gen.corejs.useToDartException = true;
@@ -11309,30 +11334,27 @@ MethodGenerator.prototype.visitLambdaExpression = function(node) {
return new Value(meth.get$functionType(), w.get$text(), false, true, false);
}
MethodGenerator.prototype.visitCallExpression = function(node) {
- var $0;
var target;
var position = node.target;
var name = '\$call';
if ($notnull_bool((node.target instanceof DotExpression))) {
- var dot = (($0 = node.target) && $0.is$DotExpression());
- target = dot.self.visit(this);
- name = dot.name.name;
- position = dot.name;
+ target = node.target.self.visit(this);
+ name = node.target.get$name().get$name();
+ position = node.target.get$name();
}
else if ($notnull_bool((node.target instanceof VarExpression))) {
- var varExpr = (($0 = node.target) && $0.is$VarExpression());
- name = varExpr.name.name;
+ name = node.target.get$name().get$name();
var meth = this.method.declaringType.resolveMember(name);
if ($notnull_bool($ne(meth, null))) {
target = this._makeThisOrType();
- return meth.invoke$4(this, varExpr, target, this._makeArgs(node.arguments));
+ return meth.invoke$4(this, node.target, target, this._makeArgs(node.arguments));
}
- meth = this.method.declaringType.get$library().lookup($assert_String(name), varExpr.span);
+ meth = this.method.declaringType.get$library().lookup($assert_String(name), node.target.span);
if ($notnull_bool($ne(meth, null))) {
- return meth.invoke$4(this, varExpr, null, this._makeArgs(node.arguments));
+ return meth.invoke$4(this, node.target, null, this._makeArgs(node.arguments));
}
name = '\$call';
- target = varExpr.visit(this);
+ target = node.target.visit(this);
}
else {
target = node.target.visit(this);
@@ -11742,7 +11764,7 @@ 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", 2072, 12);
+ $assert($ne(type, null), "type != null", "gen.dart", 2063, 12);
if ($notnull_bool(!!(($0 = node.value) && $0.is$List))) {
var items = [];
var $list = node.value;
@@ -11966,7 +11988,7 @@ Library.prototype._addMember = function(member) {
this._privateMembers.$setindex(member.name, mset);
}
else {
- mset.get$members().add(member);
+ mset.members.add(member);
}
}
else {
@@ -12273,7 +12295,7 @@ _LibraryVisitor.prototype.visitTypeDefinition = function(node) {
var member = $list.$index($i);
member.visit(this);
}
- this.currentType = (oldType && oldType.is$DefinedType());
+ this.currentType = (oldType && oldType.is$lang_Type());
}
_LibraryVisitor.prototype.visitVariableDefinition = function(node) {
this.currentType.addField(node);
@@ -12379,12 +12401,6 @@ Member.prototype.get$isProperty = function() {
Member.prototype.get$isAbstract = function() {
return false;
}
-Member.prototype.get$isConst = function() {
- return false;
-}
-Member.prototype.get$isFactory = function() {
- return false;
-}
Member.prototype.get$prefersPropertySyntax = function() {
return true;
}
@@ -12403,12 +12419,6 @@ Member.prototype.provideFieldSyntax = function() {
Member.prototype.providePropertySyntax = function() {
return world.internalError('can not be property', this.get$span());
}
-Member.prototype.get$initDelegate = function() {
- return world.internalError('cannot have initializers', this.get$span());
-}
-Member.prototype.set$initDelegate = function(ctor) {
- return world.internalError('cannot have initializers', this.get$span());
-}
Member.prototype.get$definition = function() {
return null;
}
@@ -12434,7 +12444,7 @@ Member.prototype.override = function(other) {
return true;
}
Member.prototype.get$generatedFactoryName = function() {
- $assert(this.get$isFactory(), "this.isFactory", "member.dart", 174, 12);
+ $assert(this.get$isFactory(), "this.isFactory", "member.dart", 164, 12);
var prefix = ('' + this.declaringType.get$jsname() + '.' + this.get$constructorName() + '\$');
if ($notnull_bool(this.name == '')) {
return ('' + prefix + 'factory');
@@ -12443,13 +12453,6 @@ Member.prototype.get$generatedFactoryName = function() {
return ('' + prefix + '' + this.name + '\$factory');
}
}
-Member.prototype.resolveType = function(node, isRequired) {
- var type = this.declaringType.resolveType(node, isRequired);
- if ($notnull_bool(this.get$isStatic() && type.get$hasTypeParams())) {
- world.error('using type parameter in static context', node.span);
- }
- 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()));
}
@@ -12476,7 +12479,7 @@ TypeMember.prototype.get$isStatic = function() {
return true;
}
TypeMember.prototype.get$returnType = function() {
- return world.varType;
+ return world.get$isVar();
}
TypeMember.prototype.canInvoke = function(context, args) {
return false;
@@ -12491,7 +12494,7 @@ TypeMember.prototype.resolve = function(inType) {
}
TypeMember.prototype.get_ = function(context, node, target, isDynamic) {
- $assert(target == null || target.type.get$isTop(), "target == null || target.type.isTop", "member.dart", 222, 12);
+ $assert(target == null || target.type.get$isTop(), "target == null || target.type.isTop", "member.dart", 202, 12);
return new Value(this.type, this.type.get$jsname(), false, false, true);
}
TypeMember.prototype.set_ = function(context, node, target, value, isDynamic) {
@@ -12645,7 +12648,7 @@ FieldMember.prototype.get_ = function(context, node, target, isDynamic) {
}
}
else if ($notnull_bool(target.get$isConst() && this.isFinal)) {
- var constTarget = $notnull_bool((target instanceof GlobalValue)) ? target.get$dynamic().exp : target;
+ var constTarget = $notnull_bool((target instanceof GlobalValue)) ? target.exp : target;
if ($notnull_bool((constTarget instanceof ConstObjectValue))) {
return constTarget.fields.$index(this.name);
}
@@ -12737,17 +12740,11 @@ 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 ($notnull_bool((parentMember instanceof ConcreteMember))) {
- var c = (parentMember && parentMember.is$ConcreteMember());
- parent = (($0 = c.baseMember) && $0.is$PropertyMember());
- }
- else {
- parent = (parentMember && parentMember.is$PropertyMember());
+ parentMember = parentMember.baseMember;
}
- if ($notnull_bool(this.getter == null)) this.getter = parent.getter;
- if ($notnull_bool(this.setter == null)) this.setter = parent.setter;
+ if ($notnull_bool(this.getter == null)) this.getter = parentMember.getter;
+ if ($notnull_bool(this.setter == null)) this.setter = parentMember.setter;
}
PropertyMember.prototype.resolve = function(inType) {
if ($notnull_bool(this.getter != null)) this.getter.resolve(inType);
@@ -12782,7 +12779,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; };
@@ -12799,15 +12795,15 @@ ConcreteMember.prototype.get$isAbstract = function() {
ConcreteMember.prototype.get$isConst = function() {
return this.baseMember.get$isConst();
}
-ConcreteMember.prototype.get$isFactory = function() {
- return this.baseMember.get$isFactory();
-}
ConcreteMember.prototype.get$jsname = function() {
return this.baseMember.get$jsname();
}
ConcreteMember.prototype.set$jsname = function(name) {
return world.internalError('bad set of jsname on ConcreteMember');
}
+ConcreteMember.prototype.get$isFactory = function() {
+ return this.baseMember.get$isFactory();
+}
ConcreteMember.prototype.get$canGet = function() {
return this.baseMember.get$canGet();
}
@@ -12940,14 +12936,12 @@ MethodMember.prototype.get$span = function() {
return $notnull_bool(this.definition == null) ? null : this.definition.span;
}
MethodMember.prototype.get$constructorName = function() {
- var $0;
- var returnType = (($0 = this.definition.returnType) && $0.is$NameTypeReference());
- if ($notnull_bool(returnType == null)) return '';
- if ($notnull_bool(returnType.names != null)) {
- return returnType.names.$index(0).get$name();
+ if ($notnull_bool(this.definition.returnType == null)) return '';
+ if ($notnull_bool(this.definition.returnType.names != null)) {
+ return this.definition.returnType.names.$index(0).get$name();
}
- else if ($notnull_bool(returnType.name != null)) {
- return returnType.name.name;
+ else if ($notnull_bool($ne(this.definition.returnType.get$name(), null))) {
+ return this.definition.returnType.get$name().get$name();
}
world.internalError('no valid constructor name', this.definition.span);
}
@@ -12997,6 +12991,13 @@ MethodMember.prototype.indexOfParameter = function(name) {
}
return -1;
}
+MethodMember.prototype.resolveType = function(node, isRequired) {
+ var type = this.declaringType.resolveType(node, isRequired);
+ if ($notnull_bool(this.isStatic && type.get$hasTypeParams())) {
+ world.error('using type parameter in static context', node.span);
+ }
+ return type;
+}
MethodMember.prototype.get$prefersPropertySyntax = function() {
return true;
}
@@ -13175,16 +13176,16 @@ MethodMember.prototype.invoke = function(context, node, target, args, isDynamic)
var code = ('' + target.code + '.' + this.get$jsname() + '(' + argsString + ')');
if ($notnull_bool(target.get$isConst())) {
if ($notnull_bool((target instanceof GlobalValue))) {
- target = target.get$dynamic().exp;
+ target = target.exp;
}
if ($notnull_bool(this.name == 'get\$length')) {
if ($notnull_bool((target instanceof ConstListValue) || (target instanceof ConstMapValue))) {
- code = ('' + target.get$dynamic().values.length + '');
+ code = ('' + target.values.length + '');
}
}
else if ($notnull_bool(this.name == 'isEmpty')) {
if ($notnull_bool((target instanceof ConstListValue) || (target instanceof ConstMapValue))) {
- code = ('' + target.get$dynamic().values.isEmpty() + '');
+ code = ('' + target.values.isEmpty() + '');
}
}
}
@@ -13201,7 +13202,7 @@ MethodMember.prototype._invokeConstructor = function(context, node, target, args
}
else {
var code = $notnull_bool((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) && node.get$dynamic().get$isConst())) {
+ if ($notnull_bool(this.isConst && node.get$isConst())) {
return this._invokeConstConstructor(node, $assert_String(code), target, args);
}
else {
@@ -13267,17 +13268,15 @@ MethodMember.prototype._invokeConstConstructor = function(node, code, target, ar
}
}
else {
- var assign = (init && init.is$BinaryExpression());
- var x = (($0 = assign.x) && $0.is$VarExpression());
- var fname = x.name.name;
- var val = this.generator.visitValue(assign.y);
+ var fname = init.x.get$name().get$name();
+ var val = this.generator.visitValue(init.y);
fields.$setindex(fname, val);
}
}
this.generator._popBlock();
}
- var $list = this.declaringType.get$members().getValues();
- for (var $i = this.declaringType.get$members().getValues().iterator(); $i.hasNext(); ) {
+ var $list = this.declaringType.members.getValues();
+ for (var $i = this.declaringType.members.getValues().iterator(); $i.hasNext(); ) {
var f = $i.next();
if ($notnull_bool((f instanceof FieldMember) && !$notnull_bool(f.get$isStatic()) && $ne(f.get$value(), null) && !$notnull_bool(fields.containsKey(f.get$name())))) {
fields.$setindex(f.get$name(), f.computeValue());
@@ -13585,7 +13584,6 @@ function MemberSet(member) {
}
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; };
MemberSet.prototype.toString = function() {
return ('' + this.name + ':' + this.members.length + '');
@@ -13816,6 +13814,7 @@ FactoryMap.prototype.forEach = function(f) {
})
);
}
+FactoryMap.prototype.forEach$1 = FactoryMap.prototype.forEach;
// ********** Code for lang_Token **************
function lang_Token(kind, source, start, end) {
this.kind = kind;
@@ -17193,9 +17192,6 @@ Definition.prototype.is$Definition = function(){return this;};
Definition.prototype.get$typeParameters = function() {
return null;
}
-Definition.prototype.get$nativeType = function() {
- return null;
-}
// ********** Code for lang_Statement **************
function lang_Statement(span) {
lang_Node.call(this, span);
@@ -17250,15 +17246,12 @@ 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; };
TypeDefinition.prototype.set$name = function(value) { return this.name = value; };
TypeDefinition.prototype.get$typeParameters = function() { return this.typeParameters; };
TypeDefinition.prototype.set$typeParameters = function(value) { return this.typeParameters = value; };
-TypeDefinition.prototype.get$nativeType = function() { return this.nativeType; };
-TypeDefinition.prototype.set$nativeType = function(value) { return this.nativeType = value; };
TypeDefinition.prototype.visit = function(visitor) {
return visitor.visitTypeDefinition(this);
}
@@ -17451,7 +17444,6 @@ 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);
}
@@ -17765,7 +17757,6 @@ 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);
}
@@ -17947,15 +17938,6 @@ lang_Type.prototype.get$jsname = function() {
lang_Type.prototype.set$jsname = function(name) {
return this._jsname = name;
}
-lang_Type.prototype.get$members = function() {
- return null;
-}
-lang_Type.prototype.get$definition = function() {
- return null;
-}
-lang_Type.prototype.get$factories = function() {
- return null;
-}
lang_Type.prototype.get$typeArgsInOrder = function() {
return null;
}
@@ -18089,9 +18071,6 @@ ParameterType.prototype.get$library = function() {
ParameterType.prototype.get$span = function() {
return this.typeParameter.span;
}
-ParameterType.prototype.get$constructors = function() {
- return world.internalError('no constructors on type parameters yet');
-}
ParameterType.prototype.getCallMethod = function() {
return this.extendsType.getCallMethod();
}
@@ -18107,15 +18086,9 @@ ParameterType.prototype.resolveMember = function(memberName) {
ParameterType.prototype.getConstructor = function(constructorName) {
world.internalError('no constructors on type parameters yet');
}
-ParameterType.prototype.getOrMakeConcreteType = function(typeArgs) {
- world.internalError('no concrete types of type parameters yet', this.get$span());
-}
ParameterType.prototype.resolveTypeParams = function(inType) {
return inType.typeArguments.$index(this.name);
}
-ParameterType.prototype.addDirectSubtype = function(type) {
- world.internalError('no subtypes of type parameters yet', this.get$span());
-}
ParameterType.prototype.resolve = function(inType) {
if ($notnull_bool(this.typeParameter.extendsType != null)) {
this.extendsType = inType.resolveType(this.typeParameter.extendsType, true);
@@ -18143,10 +18116,10 @@ ConcreteType.prototype.get$isList = function() {
return this.genericType.get$isList();
}
ConcreteType.prototype.get$isClass = function() {
- return this.genericType.isClass;
+ return this.genericType.get$isClass();
}
ConcreteType.prototype.get$library = function() {
- return this.genericType.library;
+ return this.genericType.get$library();
}
ConcreteType.prototype.get$span = function() {
return this.genericType.get$span();
@@ -18157,12 +18130,6 @@ ConcreteType.prototype.get$hasTypeParams = function() {
})
);
}
-ConcreteType.prototype.get$members = function() { return this.members; };
-ConcreteType.prototype.set$members = function(value) { return this.members = value; };
-ConcreteType.prototype.get$constructors = function() { return this.constructors; };
-ConcreteType.prototype.set$constructors = function(value) { return this.constructors = value; };
-ConcreteType.prototype.get$factories = function() { return this.factories; };
-ConcreteType.prototype.set$factories = function(value) { return this.factories = value; };
ConcreteType.prototype.resolveTypeParams = function(inType) {
var newTypeArgs = [];
var needsNewType = false;
@@ -18174,18 +18141,18 @@ ConcreteType.prototype.resolveTypeParams = function(inType) {
newTypeArgs.add(newType);
}
if ($notnull_bool(!$notnull_bool(needsNewType))) return this;
- return this.genericType.getOrMakeConcreteType((newTypeArgs && newTypeArgs.is$List$Type()));
+ return this.genericType.getOrMakeConcreteType(newTypeArgs);
}
ConcreteType.prototype.getOrMakeConcreteType = function(typeArgs) {
return this.genericType.getOrMakeConcreteType(typeArgs);
}
ConcreteType.prototype.get$parent = function() {
- return this.genericType.parent;
+ return this.genericType.get$parent();
}
ConcreteType.prototype.get$interfaces = function() {
- if ($notnull_bool(this._interfaces == null && this.genericType.interfaces != null)) {
+ if ($notnull_bool(this._interfaces == null && this.genericType.get$interfaces() != null)) {
this._interfaces = [];
- var $list = this.genericType.interfaces;
+ var $list = this.genericType.get$interfaces();
for (var $i = 0;$i < $list.length; $i++) {
var i = $list.$index($i);
this._interfaces.add(i.resolveTypeParams(this));
@@ -18258,7 +18225,7 @@ ConcreteType.prototype.resolveMember = function(memberName) {
var $list = this.genericType.get$subtypes();
for (var $i = this.genericType.get$subtypes().iterator(); $i.hasNext(); ) {
var t = $i.next();
- var m = t.get$members().$index(memberName);
+ var m = t.members.$index(memberName);
if ($notnull_bool($ne(m, null))) ret.add(m);
}
return ret;
@@ -18297,20 +18264,14 @@ DefinedType.prototype.get$interfaces = function() { return this.interfaces; };
DefinedType.prototype.set$interfaces = function(value) { return this.interfaces = value; };
DefinedType.prototype.get$typeParameters = function() { return this.typeParameters; };
DefinedType.prototype.set$typeParameters = function(value) { return this.typeParameters = value; };
-DefinedType.prototype.get$constructors = function() { return this.constructors; };
-DefinedType.prototype.set$constructors = function(value) { return this.constructors = value; };
-DefinedType.prototype.get$members = function() { return this.members; };
-DefinedType.prototype.set$members = function(value) { return this.members = value; };
-DefinedType.prototype.get$factories = function() { return this.factories; };
-DefinedType.prototype.set$factories = function(value) { return this.factories = value; };
DefinedType.prototype.get$isUsed = function() { return this.isUsed; };
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", 558, 12);
+ $assert(this.definition == null, "definition == null", "type.dart", 541, 12);
this.definition = def;
- if ($notnull_bool((this.definition instanceof TypeDefinition) && this.definition.get$nativeType() != null)) {
+ if ($notnull_bool((this.definition instanceof TypeDefinition) && this.definition.nativeType != null)) {
this.isNativeType = true;
}
if ($notnull_bool(this.definition != null && this.definition.get$typeParameters() != null)) {
@@ -18415,7 +18376,7 @@ DefinedType.prototype._resolveInterfaces = function(types) {
return interfaces;
}
DefinedType.prototype.addDirectSubtype = function(type) {
- $assert(this._subtypes == null, "_subtypes == null", "type.dart", 674, 12);
+ $assert(this._subtypes == null, "_subtypes == null", "type.dart", 657, 12);
this.directSubtypes.add(type);
}
DefinedType.prototype.get$subtypes = function() {
@@ -18477,20 +18438,19 @@ DefinedType.prototype.resolve = function() {
var $this = this; // closure support
var $0;
if ($notnull_bool((this.definition instanceof TypeDefinition))) {
- var typeDef = (($0 = this.definition) && $0.is$TypeDefinition());
if ($notnull_bool(this.isClass)) {
- if ($notnull_bool(typeDef.extendsTypes != null && typeDef.extendsTypes.length > 0)) {
- if ($notnull_bool(typeDef.extendsTypes.length > 1)) {
- world.error('more than one base class', typeDef.extendsTypes.$index(1).get$span());
+ if ($notnull_bool(this.definition.extendsTypes != null && this.definition.extendsTypes.length > 0)) {
+ if ($notnull_bool(this.definition.extendsTypes.length > 1)) {
+ world.error('more than one base class', this.definition.extendsTypes.$index(1).get$span());
}
- var extendsTypeRef = typeDef.extendsTypes.$index(0);
+ var extendsTypeRef = this.definition.extendsTypes.$index(0);
if ($notnull_bool((extendsTypeRef instanceof GenericTypeReference))) {
var g = (extendsTypeRef && extendsTypeRef.is$GenericTypeReference());
this.parent = this.resolveType(g.baseType, true);
}
this.parent = this.resolveType((extendsTypeRef && extendsTypeRef.is$TypeReference()), true);
if ($notnull_bool(!$notnull_bool(this.parent.get$isClass()))) {
- world.error('class may not extend an interface - use implements', typeDef.extendsTypes.$index(0).get$span());
+ world.error('class may not extend an interface - use implements', this.definition.extendsTypes.$index(0).get$span());
}
this.parent.addDirectSubtype(this);
if ($notnull_bool(this._cycleInClassExtends())) {
@@ -18502,24 +18462,24 @@ DefinedType.prototype.resolve = function() {
this.parent = world.objectType;
}
}
- this.interfaces = this._resolveInterfaces(typeDef.implementsTypes);
- if ($notnull_bool(typeDef.factoryType != null)) {
- world.error('factory not allowed on classes', typeDef.factoryType.span);
+ this.interfaces = this._resolveInterfaces(this.definition.implementsTypes);
+ if ($notnull_bool(this.definition.factoryType != null)) {
+ world.error('factory not allowed on classes', this.definition.factoryType.span);
}
}
else {
- if ($notnull_bool(typeDef.implementsTypes != null && typeDef.implementsTypes.length > 0)) {
- world.error('implements not allowed on interfaces (use extends)', typeDef.implementsTypes.$index(0).get$span());
+ if ($notnull_bool(this.definition.implementsTypes != null && this.definition.implementsTypes.length > 0)) {
+ world.error('implements not allowed on interfaces (use extends)', this.definition.implementsTypes.$index(0).get$span());
}
- this.interfaces = this._resolveInterfaces(typeDef.extendsTypes);
+ this.interfaces = this._resolveInterfaces(this.definition.extendsTypes);
var res = this._cycleInInterfaceExtends();
if ($notnull_bool(res >= 0)) {
- world.error(('interface "' + this.name + '" has a cycle in its inheritance chain'), typeDef.extendsTypes.$index(res).get$span());
+ world.error(('interface "' + this.name + '" has a cycle in its inheritance chain'), this.definition.extendsTypes.$index(res).get$span());
}
- if ($notnull_bool(typeDef.factoryType != null)) {
- this.factory_ = this.resolveType(typeDef.factoryType, true);
+ if ($notnull_bool(this.definition.factoryType != null)) {
+ this.factory_ = this.resolveType(this.definition.factoryType, true);
if ($notnull_bool(this.factory_ == null)) {
- world.warning('unresolved factory', typeDef.factoryType.span);
+ world.info(('unresolved factory: ' + this.definition.factoryType.get$name().get$name() + ''), this.definition.factoryType.get$name().get$span());
}
}
}
@@ -18641,7 +18601,6 @@ DefinedType.prototype.getConstructor = function(constructorName) {
return this._tryCreateDefaultConstructor(constructorName);
}
DefinedType.prototype._tryCreateDefaultConstructor = function(name) {
- var $0;
if ($notnull_bool(name == '' && this.definition != null && this.isClass && this.constructors.get$length() == 0)) {
var span = this.definition.span;
var inits = null, body = null;
@@ -18653,8 +18612,7 @@ DefinedType.prototype._tryCreateDefaultConstructor = function(name) {
body = null;
inits = [new CallExpression(new SuperExpression((span && span.is$SourceSpan())), [], (span && span.is$SourceSpan()))];
}
- var typeDef = (($0 = this.definition) && $0.is$TypeDefinition());
- var c = new FunctionDefinition(null, null, typeDef.name, [], inits, body, (span && span.is$SourceSpan()));
+ var c = new FunctionDefinition(null, null, this.definition.get$name(), [], inits, body, (span && span.is$SourceSpan()));
this.addMethod(null, (c && c.is$FunctionDefinition()));
this.constructors.$index('').resolve(this);
return this.constructors.$index('');
@@ -18734,7 +18692,7 @@ DefinedType.prototype.resolveMember = function(memberName) {
m = t.getMember(memberName);
}
else {
- m = t.get$members().$index(memberName);
+ m = t.members.$index(memberName);
}
if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member()));
}
@@ -18772,66 +18730,63 @@ DefinedType.prototype.resolveType = function(node, typeErrors) {
if ($notnull_bool(node == null)) return world.varType;
if ($notnull_bool(node.type != null)) return node.type;
if ($notnull_bool((node instanceof NameTypeReference))) {
- var typeRef = (node && node.is$NameTypeReference());
var name;
- if ($notnull_bool(typeRef.names != null)) {
- name = $assert_String(typeRef.names.last().get$name());
+ if ($notnull_bool(node.names != null)) {
+ name = $assert_String(node.names.last().get$name());
}
else {
- name = typeRef.name.name;
+ name = $assert_String(node.get$name().get$name());
}
if ($notnull_bool(this.typeParameters != null)) {
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());
+ node.type = (tp && tp.is$lang_Type());
}
}
}
- if ($notnull_bool(typeRef.type == null)) {
- typeRef.type = this.library.findType(typeRef);
+ if ($notnull_bool(node.type == null)) {
+ node.type = this.library.findType((node && node.is$NameTypeReference()));
}
- if ($notnull_bool(typeRef.type == null)) {
- var message = ('can not find type ' + DefinedType._getDottedName(typeRef) + '');
+ if ($notnull_bool(node.type == null)) {
+ var message = ('can not find type ' + DefinedType._getDottedName((node && node.is$NameTypeReference())) + '');
if ($notnull_bool(typeErrors)) {
- world.error($assert_String(message), typeRef.span);
- typeRef.type = world.objectType;
+ world.error($assert_String(message), node.span);
+ node.type = world.objectType;
}
else {
- world.warning($assert_String(message), typeRef.span);
- typeRef.type = world.varType;
+ world.warning($assert_String(message), node.span);
+ node.type = world.varType;
}
}
}
else if ($notnull_bool((node instanceof GenericTypeReference))) {
- var typeRef = (node && node.is$GenericTypeReference());
- var baseType = this.resolveType(typeRef.baseType, typeErrors);
+ var baseType = this.resolveType(node.baseType, typeErrors);
if ($notnull_bool(!$notnull_bool(baseType.get$isGeneric()))) {
- world.error(('' + baseType.get$name() + ' is not generic'), typeRef.span);
+ world.error(('' + baseType.get$name() + ' is not generic'), node.span);
return null;
}
- if ($notnull_bool(typeRef.typeArguments.length != baseType.get$typeParameters().length)) {
- world.error('wrong number of type arguments', typeRef.span);
+ if ($notnull_bool(node.typeArguments.length != baseType.get$typeParameters().length)) {
+ world.error('wrong number of type arguments', node.span);
return null;
}
var typeArgs = [];
for (var i = 0;
- $notnull_bool(i < typeRef.typeArguments.length); i++) {
+ $notnull_bool(i < node.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((($0 = node.typeArguments.$index(i)) && $0.is$TypeReference()), typeErrors);
typeArgs.add(typeArg);
if ($notnull_bool($ne(extendsType, null) && !(typeArg instanceof ParameterType))) {
- typeArg.ensureSubtypeOf((extendsType && extendsType.is$lang_Type()), typeRef.typeArguments.$index(i).get$span(), typeErrors);
+ typeArg.ensureSubtypeOf((extendsType && extendsType.is$lang_Type()), node.typeArguments.$index(i).get$span(), typeErrors);
}
}
- typeRef.type = baseType.getOrMakeConcreteType(typeArgs);
+ node.type = baseType.getOrMakeConcreteType(typeArgs);
}
else if ($notnull_bool((node instanceof FunctionTypeReference))) {
- var typeRef = (node && node.is$FunctionTypeReference());
var name = '';
- if ($notnull_bool(typeRef.func.name != null)) name = typeRef.func.name.name;
- typeRef.type = this.library.getOrAddFunctionType($assert_String(name), typeRef.func, this);
+ if ($notnull_bool(node.func.name != null)) name = node.func.name.name;
+ node.type = this.library.getOrAddFunctionType($assert_String(name), node.func, this);
}
else {
world.internalError('unknown type reference', node.span);
@@ -18842,7 +18797,7 @@ DefinedType.prototype.resolveTypeParams = function(inType) {
return this;
}
DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) {
- $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1156, 12);
+ $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1135, 12);
var names = [this.name];
var typeMap = $map([]);
for (var i = 0;
@@ -18860,7 +18815,7 @@ DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) {
return ret;
}
DefinedType.prototype.getCallStub = function(args) {
- $assert(this.get$isFunction(), "isFunction", "type.dart", 1176, 12);
+ $assert(this.get$isFunction(), "isFunction", "type.dart", 1155, 12);
var name = _getCallStubName('call', args);
if ($notnull_bool(this.varStubs == null)) this.varStubs = $map([]);
var stub = this.varStubs.$index(name);
@@ -18893,6 +18848,7 @@ FixedCollection.prototype.some = function(f) {
FixedCollection.prototype.isEmpty = function() {
return this.length == 0;
}
+FixedCollection.prototype.forEach$1 = FixedCollection.prototype.forEach;
// ********** Code for FixedCollection$Type **************
function FixedCollection$Type(value, length) {
this.value = value;
@@ -18939,7 +18895,7 @@ Value.prototype.get$isConst = function() {
return false;
}
Value.prototype.get_ = function(context, name, node) {
- var member = this._resolveMember(context, name, node, false);
+ var member = this._resolveMember(context, name, node);
if ($notnull_bool($ne(member, null))) {
member = member.get_$3(context, node, this);
}
@@ -18951,7 +18907,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);
+ var member = this._resolveMember(context, name, node);
if ($notnull_bool($ne(member, null))) {
member = member.set_(context, node, this, value, isDynamic);
}
@@ -18978,7 +18934,7 @@ Value.prototype.invoke = function(context, name, node, args, isDynamic) {
return this._varCall(context, args);
}
}
- var member = this._resolveMember(context, name, node, isDynamic);
+ var member = this._resolveMember(context, name, node);
if ($notnull_bool(member == null)) {
return this.invokeNoSuchMethod(context, name, node, args);
}
@@ -18993,51 +18949,49 @@ Value.prototype.canInvoke = function(context, name, args) {
if ($notnull_bool(this.type.get$isVarOrFunction() && name == '\$call')) {
return true;
}
- var member = this._resolveMember(context, name, null, true);
+ var member = this._tryResolveMember(context, name);
return $ne(member, null) && member.canInvoke(context, args);
}
-Value.prototype._hasOverriddenNoSuchMethod = function() {
- if ($notnull_bool(this.isSuper)) {
- var m = this.type.getMember('noSuchMethod');
- return $ne(m, null) && !$notnull_bool(m.declaringType.get$isObject());
- }
- else {
- return this.type.resolveMember('noSuchMethod').members.length > 1;
- }
-}
-Value.prototype._resolveMember = function(context, name, node, isDynamic) {
- var member;
- if ($notnull_bool(!$notnull_bool(this.type.get$isVar()) && !(this.type instanceof ParameterType))) {
+Value.prototype._tryResolveMember = function(context, name) {
+ var member = null;
+ if ($notnull_bool(!$notnull_bool(this.type.get$isVar()))) {
if ($notnull_bool(this.isSuper)) {
- member = this.type.getMember(name);
+ return this.type.getMember(name);
}
else {
member = this.type.resolveMember(name);
}
- if ($notnull_bool($ne(member, null) && this.isType && !$notnull_bool(member.get$isStatic()))) {
- if ($notnull_bool(!$notnull_bool(isDynamic))) {
- world.error('can not refer to instance member as static', node.span);
- }
+ }
+ if ($notnull_bool(member == null)) {
+ member = context.findMembers(name);
+ }
+ return member;
+}
+Value.prototype._resolveMember = function(context, name, node) {
+ var member = this._tryResolveMember(context, name);
+ if ($notnull_bool($ne(member, null))) {
+ if ($notnull_bool(this.isType && !$notnull_bool(member.get$isStatic()))) {
+ world.error('can not refer to instance member as static', node.span);
+ }
+ return member;
+ }
+ else {
+ if ($notnull_bool(this._tryResolveMember(context, 'noSuchMethod').members.length > 1)) {
return null;
}
- if ($notnull_bool(member == null && !$notnull_bool(isDynamic) && !$notnull_bool(this._hasOverriddenNoSuchMethod()))) {
- var typeName = $notnull_bool(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);
- }
- else {
- world.warning($assert_String(message), node.span);
- }
+ var typeName = $notnull_bool(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 ($notnull_bool(member == null && !$notnull_bool(this.isSuper) && !$notnull_bool(this.isType))) {
- member = context.findMembers(name);
- if ($notnull_bool(member == null && !$notnull_bool(isDynamic))) {
+ else {
+ world.warning($assert_String(message), node.span);
+ }
+ if ($notnull_bool(context.findMembers(name) == null)) {
world.warning(('' + name + ' is not defined anywhere in the world.'), node.span);
}
+ return null;
}
- return member;
}
Value.prototype.checkFirstClass = function(span) {
if ($notnull_bool(this.isType)) {
@@ -19202,11 +19156,11 @@ Value.prototype.invokeNoSuchMethod = function(context, name, node, args) {
pos = Strings.join((argsCode && argsCode.is$List$String()), ", ");
}
var noSuchArgs = [new Value(world.stringType, ('"' + name + '"'), false, true, false), new Value(world.listType, ('[' + pos + ']'), false, true, false)];
- return this._resolveMember(context, 'noSuchMethod', node, false).invoke$4(context, node, this, new Arguments(null, noSuchArgs));
+ return this._tryResolveMember(context, 'noSuchMethod').invoke$4(context, node, this, new Arguments(null, noSuchArgs));
}
Value.prototype.invokeSpecial = function(name, args, returnType) {
- $assert(name.startsWith('\$'), "name.startsWith('\\$')", "value.dart", 443, 12);
- $assert(!$notnull_bool(args.get$hasNames()), "!args.hasNames", "value.dart", 444, 12);
+ $assert(name.startsWith('\$'), "name.startsWith('\\$')", "value.dart", 432, 12);
+ $assert(!$notnull_bool(args.get$hasNames()), "!args.hasNames", "value.dart", 433, 12);
var argsString = args.getCode();
if ($notnull_bool(name == '\$index' || name == '\$setindex')) {
return new Value(returnType, ('' + this.code + '.' + name + '(' + argsString + ')'), false, true, false);
@@ -19411,18 +19365,18 @@ World.prototype.init = function() {
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 = (($0 = this._addToCoreLib('void', false)) && $0.is$lang_Type());
+ this.dynamicType = (($0 = this._addToCoreLib('Dynamic', false)) && $0.is$lang_Type());
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 = (($0 = this._addToCoreLib('Object', true)) && $0.is$lang_Type());
+ this.numType = (($0 = this._addToCoreLib('num', false)) && $0.is$lang_Type());
+ this.intType = (($0 = this._addToCoreLib('int', false)) && $0.is$lang_Type());
+ this.doubleType = (($0 = this._addToCoreLib('double', false)) && $0.is$lang_Type());
+ this.boolType = (($0 = this._addToCoreLib('bool', false)) && $0.is$lang_Type());
+ this.stringType = (($0 = this._addToCoreLib('String', false)) && $0.is$lang_Type());
+ this.listType = (($0 = this._addToCoreLib('List', false)) && $0.is$lang_Type());
+ this.mapType = (($0 = this._addToCoreLib('Map', false)) && $0.is$lang_Type());
+ this.functionType = (($0 = this._addToCoreLib('Function', false)) && $0.is$lang_Type());
}
World.prototype._addMember = function(member) {
$assert(!$notnull_bool(member.get$isPrivate()), "!member.isPrivate", "world.dart", 141, 12);
@@ -19438,7 +19392,7 @@ World.prototype._addMember = function(member) {
this._members.$setindex(mset.get$name(), mset);
}
else {
- mset.get$members().add(member);
+ mset.members.add(member);
}
}
World.prototype._addTopName = function(named) {
@@ -19543,19 +19497,19 @@ World.prototype.runCompilationPhases = function() {
var $0;
var mainMembers = lib.topType.resolveMember('main');
var main = null;
- if ($notnull_bool(mainMembers == null || mainMembers.get$members().length == 0)) {
+ if ($notnull_bool(mainMembers == null || mainMembers.members.length == 0)) {
$this.fatal('no main method specified');
}
- else if ($notnull_bool(mainMembers.get$members().length > 1)) {
- var $list = mainMembers.get$members();
- for (var $i = mainMembers.get$members().iterator(); $i.hasNext(); ) {
+ else if ($notnull_bool(mainMembers.members.length > 1)) {
+ var $list = mainMembers.members;
+ for (var $i = mainMembers.members.iterator(); $i.hasNext(); ) {
var m = $i.next();
main = m;
$this.error('more than one main member (using last?)', main.get$span());
}
}
else {
- main = mainMembers.get$members().$index(0);
+ main = mainMembers.members.$index(0);
}
var codeWriter = new CodeWriter();
$this.gen = new WorldGenerator(main, codeWriter);
@@ -19937,7 +19891,6 @@ function VarMethodSet(name, members, callArgs, returnType) {
// Initializers done
}
$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 this.members.$index(0).get$name();
@@ -20027,14 +19980,14 @@ function reduce(source, callback, initialValue) {
}
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(y);
})
);
var values = [];
- for (var $i = 0;$i < keys.length; $i++) {
- var k = keys.$index($i);
+ for (var $i = keys.iterator(); $i.hasNext(); ) {
+ var k = $i.next();
values.add(map.$index(k));
}
return values;
« no previous file with comments | « no previous file | frog/gen.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698