| OLD | NEW |
| 1 #!/usr/bin/env node | 1 #!/usr/bin/env node |
| 2 // ********** Library dart:core ************** | 2 // ********** Library dart:core ************** |
| 3 // ********** Natives dart:core ************** | 3 // ********** Natives dart:core ************** |
| 4 /** | 4 /** |
| 5 * Generates a dynamic call stub for a function. | 5 * Generates a dynamic call stub for a function. |
| 6 * Our goal is to create a stub method like this on-the-fly: | 6 * Our goal is to create a stub method like this on-the-fly: |
| 7 * function($0, $1, capture) { this($0, $1, true, capture); } | 7 * function($0, $1, capture) { this($0, $1, true, capture); } |
| 8 * | 8 * |
| 9 * This stub then replaces the dynamic one on Function, with one that is | 9 * This stub then replaces the dynamic one on Function, with one that is |
| 10 * specialized for that particular function, taking into account its default | 10 * specialized for that particular function, taking into account its default |
| (...skipping 20859 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20870 DeclaredIdentifier.prototype.visit = function(visitor) { | 20870 DeclaredIdentifier.prototype.visit = function(visitor) { |
| 20871 return visitor.visitDeclaredIdentifier(this); | 20871 return visitor.visitDeclaredIdentifier(this); |
| 20872 } | 20872 } |
| 20873 DeclaredIdentifier.prototype.visit$1 = function($0) { | 20873 DeclaredIdentifier.prototype.visit$1 = function($0) { |
| 20874 return this.visit(($0 && $0.is$TreeVisitor())); | 20874 return this.visit(($0 && $0.is$TreeVisitor())); |
| 20875 }; | 20875 }; |
| 20876 // ********** Code for lang_Type ************** | 20876 // ********** Code for lang_Type ************** |
| 20877 function lang_Type(name) { | 20877 function lang_Type(name) { |
| 20878 this.name = name; | 20878 this.name = name; |
| 20879 this.isTested = false; | 20879 this.isTested = false; |
| 20880 this._resolvedMembers = $map([]); |
| 20880 // Initializers done | 20881 // Initializers done |
| 20881 } | 20882 } |
| 20882 lang_Type.prototype.is$lang_Type = function(){return this;}; | 20883 lang_Type.prototype.is$lang_Type = function(){return this;}; |
| 20883 lang_Type.prototype.is$Named = function(){return this;}; | 20884 lang_Type.prototype.is$Named = function(){return this;}; |
| 20884 lang_Type.prototype.get$name = function() { return this.name; }; | 20885 lang_Type.prototype.get$name = function() { return this.name; }; |
| 20885 lang_Type.prototype.get$isTested = function() { return this.isTested; }; | 20886 lang_Type.prototype.get$isTested = function() { return this.isTested; }; |
| 20886 lang_Type.prototype.set$isTested = function(value) { return this.isTested = valu
e; }; | 20887 lang_Type.prototype.set$isTested = function(value) { return this.isTested = valu
e; }; |
| 20887 lang_Type.prototype.get$typeCheckCode = function() { return this.typeCheckCode;
}; | 20888 lang_Type.prototype.get$typeCheckCode = function() { return this.typeCheckCode;
}; |
| 20888 lang_Type.prototype.set$typeCheckCode = function(value) { return this.typeCheckC
ode = value; }; | 20889 lang_Type.prototype.set$typeCheckCode = function(value) { return this.typeCheckC
ode = value; }; |
| 20889 lang_Type.prototype.get$varStubs = function() { return this.varStubs; }; | 20890 lang_Type.prototype.get$varStubs = function() { return this.varStubs; }; |
| 20890 lang_Type.prototype.set$varStubs = function(value) { return this.varStubs = valu
e; }; | 20891 lang_Type.prototype.set$varStubs = function(value) { return this.varStubs = valu
e; }; |
| 20891 lang_Type.prototype.markUsed = function() { | 20892 lang_Type.prototype.markUsed = function() { |
| 20892 | 20893 |
| 20893 } | 20894 } |
| 20894 lang_Type.prototype.get$typeMember = function() { | 20895 lang_Type.prototype.get$typeMember = function() { |
| 20895 var $0; | 20896 var $0; |
| 20896 if (this._typeMember == null) { | 20897 if (this._typeMember == null) { |
| 20897 this._typeMember = new TypeMember((this && this.is$DefinedType())); | 20898 this._typeMember = new TypeMember((this && this.is$DefinedType())); |
| 20898 } | 20899 } |
| 20899 return (($0 = this._typeMember) && $0.is$TypeMember()); | 20900 return (($0 = this._typeMember) && $0.is$TypeMember()); |
| 20900 } | 20901 } |
| 20901 lang_Type.prototype.getMember = function(name) { | 20902 lang_Type.prototype.getMember = function(name) { |
| 20902 return null; | 20903 return null; |
| 20903 } | 20904 } |
| 20905 lang_Type.prototype.get$subtypes = function() { |
| 20906 return null; |
| 20907 } |
| 20904 lang_Type.prototype.get$isVar = function() { | 20908 lang_Type.prototype.get$isVar = function() { |
| 20905 return false; | 20909 return false; |
| 20906 } | 20910 } |
| 20907 lang_Type.prototype.get$isTop = function() { | 20911 lang_Type.prototype.get$isTop = function() { |
| 20908 return false; | 20912 return false; |
| 20909 } | 20913 } |
| 20910 lang_Type.prototype.get$isObject = function() { | 20914 lang_Type.prototype.get$isObject = function() { |
| 20911 return false; | 20915 return false; |
| 20912 } | 20916 } |
| 20913 lang_Type.prototype.get$isString = function() { | 20917 lang_Type.prototype.get$isString = function() { |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21043 return (ret && ret.is$Member()); | 21047 return (ret && ret.is$Member()); |
| 21044 } | 21048 } |
| 21045 } | 21049 } |
| 21046 return null; | 21050 return null; |
| 21047 } | 21051 } |
| 21048 else { | 21052 else { |
| 21049 return $globals.world.objectType.getMember(memberName); | 21053 return $globals.world.objectType.getMember(memberName); |
| 21050 } | 21054 } |
| 21051 } | 21055 } |
| 21052 } | 21056 } |
| 21057 lang_Type.prototype.resolveMember = function(memberName) { |
| 21058 var $0; |
| 21059 var ret = (($0 = this._resolvedMembers.$index(memberName)) && $0.is$MemberSet(
)); |
| 21060 if (ret != null) return ret; |
| 21061 var member = this.getMember(memberName); |
| 21062 if (member == null) { |
| 21063 return null; |
| 21064 } |
| 21065 ret = new MemberSet(member, false); |
| 21066 this._resolvedMembers.$setindex(memberName, ret); |
| 21067 if ($notnull_bool(member.get$isStatic())) { |
| 21068 return ret; |
| 21069 } |
| 21070 else { |
| 21071 var $list = this.get$subtypes(); |
| 21072 for (var $i = this.get$subtypes().iterator(); $i.hasNext$0(); ) { |
| 21073 var t = $i.next$0(); |
| 21074 if (!$notnull_bool(this.get$isClass()) && $notnull_bool(t.get$isClass()))
{ |
| 21075 var m = t.getMember$1(memberName); |
| 21076 if ($notnull_bool($ne(m, null)) && ret.members.indexOf(m) == -1) { |
| 21077 ret.add((m && m.is$Member())); |
| 21078 } |
| 21079 } |
| 21080 else { |
| 21081 var m = t.get$members().$index(memberName); |
| 21082 if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member())); |
| 21083 } |
| 21084 } |
| 21085 return ret; |
| 21086 } |
| 21087 } |
| 21053 lang_Type.prototype.ensureSubtypeOf = function(other, span, typeErrors) { | 21088 lang_Type.prototype.ensureSubtypeOf = function(other, span, typeErrors) { |
| 21054 if (!$notnull_bool(this.isSubtypeOf(other))) { | 21089 if (!$notnull_bool(this.isSubtypeOf(other))) { |
| 21055 var msg = ('type ' + this.name + ' is not a subtype of ' + other.name); | 21090 var msg = ('type ' + this.name + ' is not a subtype of ' + other.name); |
| 21056 if ($notnull_bool(typeErrors)) { | 21091 if ($notnull_bool(typeErrors)) { |
| 21057 $globals.world.error($assert_String(msg), span); | 21092 $globals.world.error($assert_String(msg), span); |
| 21058 } | 21093 } |
| 21059 else { | 21094 else { |
| 21060 $globals.world.warning($assert_String(msg), span); | 21095 $globals.world.warning($assert_String(msg), span); |
| 21061 } | 21096 } |
| 21062 } | 21097 } |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21396 NonNullableType.prototype.resolveTypeParams$1 = function($0) { | 21431 NonNullableType.prototype.resolveTypeParams$1 = function($0) { |
| 21397 return this.resolveTypeParams(($0 && $0.is$ConcreteType())); | 21432 return this.resolveTypeParams(($0 && $0.is$ConcreteType())); |
| 21398 }; | 21433 }; |
| 21399 // ********** Code for ConcreteType ************** | 21434 // ********** Code for ConcreteType ************** |
| 21400 function ConcreteType(name, genericType, typeArguments, typeArgsInOrder) { | 21435 function ConcreteType(name, genericType, typeArguments, typeArgsInOrder) { |
| 21401 this.genericType = genericType; | 21436 this.genericType = genericType; |
| 21402 this.typeArguments = typeArguments; | 21437 this.typeArguments = typeArguments; |
| 21403 this.typeArgsInOrder = typeArgsInOrder; | 21438 this.typeArgsInOrder = typeArgsInOrder; |
| 21404 this.constructors = $map([]); | 21439 this.constructors = $map([]); |
| 21405 this.members = $map([]); | 21440 this.members = $map([]); |
| 21406 this._resolvedMembers = $map([]); | |
| 21407 this.factories = new FactoryMap(); | 21441 this.factories = new FactoryMap(); |
| 21408 // Initializers done | 21442 // Initializers done |
| 21409 lang_Type.call(this, name); | 21443 lang_Type.call(this, name); |
| 21410 } | 21444 } |
| 21411 $inherits(ConcreteType, lang_Type); | 21445 $inherits(ConcreteType, lang_Type); |
| 21412 ConcreteType.prototype.is$ConcreteType = function(){return this;}; | 21446 ConcreteType.prototype.is$ConcreteType = function(){return this;}; |
| 21413 ConcreteType.prototype.get$genericType = function() { return this.genericType; }
; | 21447 ConcreteType.prototype.get$genericType = function() { return this.genericType; }
; |
| 21414 ConcreteType.prototype.get$typeArgsInOrder = function() { return this.typeArgsIn
Order; }; | 21448 ConcreteType.prototype.get$typeArgsInOrder = function() { return this.typeArgsIn
Order; }; |
| 21415 ConcreteType.prototype.set$typeArgsInOrder = function(value) { return this.typeA
rgsInOrder = value; }; | 21449 ConcreteType.prototype.set$typeArgsInOrder = function(value) { return this.typeA
rgsInOrder = value; }; |
| 21416 ConcreteType.prototype.get$isList = function() { | 21450 ConcreteType.prototype.get$isList = function() { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21463 if (this._interfaces == null && this.genericType.interfaces != null) { | 21497 if (this._interfaces == null && this.genericType.interfaces != null) { |
| 21464 this._interfaces = []; | 21498 this._interfaces = []; |
| 21465 var $list = this.genericType.interfaces; | 21499 var $list = this.genericType.interfaces; |
| 21466 for (var $i = 0;$i < $list.length; $i++) { | 21500 for (var $i = 0;$i < $list.length; $i++) { |
| 21467 var i = $list.$index($i); | 21501 var i = $list.$index($i); |
| 21468 this._interfaces.add(i.resolveTypeParams$1(this)); | 21502 this._interfaces.add(i.resolveTypeParams$1(this)); |
| 21469 } | 21503 } |
| 21470 } | 21504 } |
| 21471 return this._interfaces; | 21505 return this._interfaces; |
| 21472 } | 21506 } |
| 21507 ConcreteType.prototype.get$subtypes = function() { |
| 21508 if (this._subtypes == null) { |
| 21509 this._subtypes = new HashSetImplementation(); |
| 21510 var $list = this.genericType.get$subtypes(); |
| 21511 for (var $i = this.genericType.get$subtypes().iterator(); $i.hasNext$0(); )
{ |
| 21512 var s = $i.next$0(); |
| 21513 this._subtypes.add(s.resolveTypeParams$1(this)); |
| 21514 } |
| 21515 } |
| 21516 return this._subtypes; |
| 21517 } |
| 21473 ConcreteType.prototype.getCallMethod = function() { | 21518 ConcreteType.prototype.getCallMethod = function() { |
| 21474 return this.genericType.getCallMethod(); | 21519 return this.genericType.getCallMethod(); |
| 21475 } | 21520 } |
| 21476 ConcreteType.prototype.getAllMembers = function() { | 21521 ConcreteType.prototype.getAllMembers = function() { |
| 21477 var result = this.genericType.getAllMembers(); | 21522 var result = this.genericType.getAllMembers(); |
| 21478 var $list = result.getKeys$0(); | 21523 var $list = result.getKeys$0(); |
| 21479 for (var $i = result.getKeys$0().iterator$0(); $i.hasNext$0(); ) { | 21524 for (var $i = result.getKeys$0().iterator$0(); $i.hasNext$0(); ) { |
| 21480 var memberName = $i.next$0(); | 21525 var memberName = $i.next$0(); |
| 21481 var myMember = this.members.$index(memberName); | 21526 var myMember = this.members.$index(memberName); |
| 21482 if ($notnull_bool($ne(myMember, null))) { | 21527 if ($notnull_bool($ne(myMember, null))) { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21526 return member; | 21571 return member; |
| 21527 } | 21572 } |
| 21528 var genericMember = this.genericType.members.$index(memberName); | 21573 var genericMember = this.genericType.members.$index(memberName); |
| 21529 if ($notnull_bool($ne(genericMember, null))) { | 21574 if ($notnull_bool($ne(genericMember, null))) { |
| 21530 member = new ConcreteMember($assert_String(genericMember.get$name()), this,
genericMember); | 21575 member = new ConcreteMember($assert_String(genericMember.get$name()), this,
genericMember); |
| 21531 this.members.$setindex(memberName, member); | 21576 this.members.$setindex(memberName, member); |
| 21532 return member; | 21577 return member; |
| 21533 } | 21578 } |
| 21534 return this._getMemberInParents(memberName); | 21579 return this._getMemberInParents(memberName); |
| 21535 } | 21580 } |
| 21536 ConcreteType.prototype.resolveMember = function(memberName) { | |
| 21537 var $0; | |
| 21538 var ret = (($0 = this._resolvedMembers.$index(memberName)) && $0.is$MemberSet(
)); | |
| 21539 if (ret != null) return ret; | |
| 21540 var member = this.getMember(memberName); | |
| 21541 if (member == null) { | |
| 21542 return null; | |
| 21543 } | |
| 21544 ret = new MemberSet(member, false); | |
| 21545 this._resolvedMembers.$setindex(memberName, ret); | |
| 21546 if ($notnull_bool(member.get$isStatic())) { | |
| 21547 return ret; | |
| 21548 } | |
| 21549 else { | |
| 21550 var $list = this.genericType.get$subtypes(); | |
| 21551 for (var $i = this.genericType.get$subtypes().iterator(); $i.hasNext$0(); )
{ | |
| 21552 var t = $i.next$0(); | |
| 21553 if (!$notnull_bool(this.get$isClass()) && $notnull_bool(t.get$isClass()))
{ | |
| 21554 var m = t.getMember$1(memberName); | |
| 21555 if ($notnull_bool($ne(m, null)) && ret.members.indexOf(m) == -1) { | |
| 21556 ret.add((m && m.is$Member())); | |
| 21557 } | |
| 21558 } | |
| 21559 else { | |
| 21560 var m = t.get$members().$index(memberName); | |
| 21561 if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member())); | |
| 21562 } | |
| 21563 } | |
| 21564 return ret; | |
| 21565 } | |
| 21566 } | |
| 21567 ConcreteType.prototype.resolveType = function(node, isRequired) { | 21581 ConcreteType.prototype.resolveType = function(node, isRequired) { |
| 21568 var ret = this.genericType.resolveType(node, isRequired); | 21582 var ret = this.genericType.resolveType(node, isRequired); |
| 21569 return (ret && ret.is$lang_Type()); | 21583 return (ret && ret.is$lang_Type()); |
| 21570 } | 21584 } |
| 21571 ConcreteType.prototype.addDirectSubtype = function(type) { | 21585 ConcreteType.prototype.addDirectSubtype = function(type) { |
| 21572 this.genericType.addDirectSubtype(type); | 21586 this.genericType.addDirectSubtype(type); |
| 21573 } | 21587 } |
| 21574 ConcreteType.prototype.addDirectSubtype$1 = function($0) { | 21588 ConcreteType.prototype.addDirectSubtype$1 = function($0) { |
| 21575 return this.addDirectSubtype(($0 && $0.is$lang_Type())); | 21589 return this.addDirectSubtype(($0 && $0.is$lang_Type())); |
| 21576 }; | 21590 }; |
| 21577 ConcreteType.prototype.getConstructor$1 = function($0) { | 21591 ConcreteType.prototype.getConstructor$1 = function($0) { |
| 21578 return this.getConstructor($assert_String($0)); | 21592 return this.getConstructor($assert_String($0)); |
| 21579 }; | 21593 }; |
| 21580 ConcreteType.prototype.getFactory$2 = function($0, $1) { | 21594 ConcreteType.prototype.getFactory$2 = function($0, $1) { |
| 21581 return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1)); | 21595 return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1)); |
| 21582 }; | 21596 }; |
| 21583 ConcreteType.prototype.getMember$1 = function($0) { | 21597 ConcreteType.prototype.getMember$1 = function($0) { |
| 21584 return this.getMember($assert_String($0)); | 21598 return this.getMember($assert_String($0)); |
| 21585 }; | 21599 }; |
| 21586 ConcreteType.prototype.getOrMakeConcreteType$1 = function($0) { | 21600 ConcreteType.prototype.getOrMakeConcreteType$1 = function($0) { |
| 21587 return this.getOrMakeConcreteType(($0 && $0.is$List$Type())); | 21601 return this.getOrMakeConcreteType(($0 && $0.is$List$Type())); |
| 21588 }; | 21602 }; |
| 21589 ConcreteType.prototype.markUsed$0 = function() { | 21603 ConcreteType.prototype.markUsed$0 = function() { |
| 21590 return this.markUsed(); | 21604 return this.markUsed(); |
| 21591 }; | 21605 }; |
| 21592 ConcreteType.prototype.resolveMember$1 = function($0) { | |
| 21593 return this.resolveMember($assert_String($0)); | |
| 21594 }; | |
| 21595 ConcreteType.prototype.resolveTypeParams$1 = function($0) { | 21606 ConcreteType.prototype.resolveTypeParams$1 = function($0) { |
| 21596 return this.resolveTypeParams(($0 && $0.is$ConcreteType())); | 21607 return this.resolveTypeParams(($0 && $0.is$ConcreteType())); |
| 21597 }; | 21608 }; |
| 21598 // ********** Code for DefinedType ************** | 21609 // ********** Code for DefinedType ************** |
| 21599 function DefinedType(name, library, definition, isClass) { | 21610 function DefinedType(name, library, definition, isClass) { |
| 21600 this.isUsed = false | 21611 this.isUsed = false |
| 21601 this.isNativeType = false | 21612 this.isNativeType = false |
| 21602 this.library = library; | 21613 this.library = library; |
| 21603 this.isClass = isClass; | 21614 this.isClass = isClass; |
| 21604 this.directSubtypes = new HashSetImplementation(); | 21615 this.directSubtypes = new HashSetImplementation(); |
| 21605 this.constructors = $map([]); | 21616 this.constructors = $map([]); |
| 21606 this.members = $map([]); | 21617 this.members = $map([]); |
| 21607 this.factories = new FactoryMap(); | 21618 this.factories = new FactoryMap(); |
| 21608 this._resolvedMembers = $map([]); | |
| 21609 // Initializers done | 21619 // Initializers done |
| 21610 lang_Type.call(this, name); | 21620 lang_Type.call(this, name); |
| 21611 this.setDefinition(definition); | 21621 this.setDefinition(definition); |
| 21612 } | 21622 } |
| 21613 $inherits(DefinedType, lang_Type); | 21623 $inherits(DefinedType, lang_Type); |
| 21614 DefinedType.prototype.is$DefinedType = function(){return this;}; | 21624 DefinedType.prototype.is$DefinedType = function(){return this;}; |
| 21615 DefinedType.prototype.get$definition = function() { return this.definition; }; | 21625 DefinedType.prototype.get$definition = function() { return this.definition; }; |
| 21616 DefinedType.prototype.set$definition = function(value) { return this.definition
= value; }; | 21626 DefinedType.prototype.set$definition = function(value) { return this.definition
= value; }; |
| 21617 DefinedType.prototype.get$library = function() { return this.library; }; | 21627 DefinedType.prototype.get$library = function() { return this.library; }; |
| 21618 DefinedType.prototype.get$isClass = function() { return this.isClass; }; | 21628 DefinedType.prototype.get$isClass = function() { return this.isClass; }; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 21630 DefinedType.prototype.set$constructors = function(value) { return this.construct
ors = value; }; | 21640 DefinedType.prototype.set$constructors = function(value) { return this.construct
ors = value; }; |
| 21631 DefinedType.prototype.get$members = function() { return this.members; }; | 21641 DefinedType.prototype.get$members = function() { return this.members; }; |
| 21632 DefinedType.prototype.set$members = function(value) { return this.members = valu
e; }; | 21642 DefinedType.prototype.set$members = function(value) { return this.members = valu
e; }; |
| 21633 DefinedType.prototype.get$factories = function() { return this.factories; }; | 21643 DefinedType.prototype.get$factories = function() { return this.factories; }; |
| 21634 DefinedType.prototype.set$factories = function(value) { return this.factories =
value; }; | 21644 DefinedType.prototype.set$factories = function(value) { return this.factories =
value; }; |
| 21635 DefinedType.prototype.get$isUsed = function() { return this.isUsed; }; | 21645 DefinedType.prototype.get$isUsed = function() { return this.isUsed; }; |
| 21636 DefinedType.prototype.set$isUsed = function(value) { return this.isUsed = value;
}; | 21646 DefinedType.prototype.set$isUsed = function(value) { return this.isUsed = value;
}; |
| 21637 DefinedType.prototype.get$isNativeType = function() { return this.isNativeType;
}; | 21647 DefinedType.prototype.get$isNativeType = function() { return this.isNativeType;
}; |
| 21638 DefinedType.prototype.set$isNativeType = function(value) { return this.isNativeT
ype = value; }; | 21648 DefinedType.prototype.set$isNativeType = function(value) { return this.isNativeT
ype = value; }; |
| 21639 DefinedType.prototype.setDefinition = function(def) { | 21649 DefinedType.prototype.setDefinition = function(def) { |
| 21640 $assert(this.definition == null, "definition == null", "type.dart", 728, 12); | 21650 $assert(this.definition == null, "definition == null", "type.dart", 735, 12); |
| 21641 this.definition = def; | 21651 this.definition = def; |
| 21642 if ((this.definition instanceof TypeDefinition) && $notnull_bool($ne(this.defi
nition.get$nativeType(), null))) { | 21652 if ((this.definition instanceof TypeDefinition) && $notnull_bool($ne(this.defi
nition.get$nativeType(), null))) { |
| 21643 this.isNativeType = true; | 21653 this.isNativeType = true; |
| 21644 } | 21654 } |
| 21645 if (this.definition != null && this.definition.get$typeParameters() != null) { | 21655 if (this.definition != null && this.definition.get$typeParameters() != null) { |
| 21646 this._concreteTypes = $map([]); | 21656 this._concreteTypes = $map([]); |
| 21647 this.typeParameters = []; | 21657 this.typeParameters = []; |
| 21648 var $list = this.definition.get$typeParameters(); | 21658 var $list = this.definition.get$typeParameters(); |
| 21649 for (var $i = 0;$i < $list.length; $i++) { | 21659 for (var $i = 0;$i < $list.length; $i++) { |
| 21650 var tp = $list.$index($i); | 21660 var tp = $list.$index($i); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21743 var resolvedInterface = this.resolveType((type && type.is$TypeReference()),
true); | 21753 var resolvedInterface = this.resolveType((type && type.is$TypeReference()),
true); |
| 21744 if ($notnull_bool(resolvedInterface.get$isClosed()) && !($notnull_bool(this.
library.get$isCore()) || $notnull_bool(this.library.get$isCoreImpl()))) { | 21754 if ($notnull_bool(resolvedInterface.get$isClosed()) && !($notnull_bool(this.
library.get$isCore()) || $notnull_bool(this.library.get$isCoreImpl()))) { |
| 21745 $globals.world.error(('can not implement "' + resolvedInterface.get$name()
+ '": ') + 'only native implementation allowed', (($0 = type.get$span()) && $0.
is$SourceSpan())); | 21755 $globals.world.error(('can not implement "' + resolvedInterface.get$name()
+ '": ') + 'only native implementation allowed', (($0 = type.get$span()) && $0.
is$SourceSpan())); |
| 21746 } | 21756 } |
| 21747 resolvedInterface.addDirectSubtype$1(this); | 21757 resolvedInterface.addDirectSubtype$1(this); |
| 21748 interfaces.add$1(resolvedInterface); | 21758 interfaces.add$1(resolvedInterface); |
| 21749 } | 21759 } |
| 21750 return (interfaces && interfaces.is$List$Type()); | 21760 return (interfaces && interfaces.is$List$Type()); |
| 21751 } | 21761 } |
| 21752 DefinedType.prototype.addDirectSubtype = function(type) { | 21762 DefinedType.prototype.addDirectSubtype = function(type) { |
| 21753 $assert(this._subtypes == null, "_subtypes == null", "type.dart", 849, 12); | 21763 $assert(this._subtypes == null, "_subtypes == null", "type.dart", 856, 12); |
| 21754 this.directSubtypes.add(type); | 21764 this.directSubtypes.add(type); |
| 21755 } | 21765 } |
| 21756 DefinedType.prototype.get$subtypes = function() { | 21766 DefinedType.prototype.get$subtypes = function() { |
| 21757 var $0; | 21767 var $0; |
| 21758 if (this._subtypes == null) { | 21768 if (this._subtypes == null) { |
| 21759 this._subtypes = new HashSetImplementation(); | 21769 this._subtypes = new HashSetImplementation(); |
| 21760 var $list = this.directSubtypes; | 21770 var $list = this.directSubtypes; |
| 21761 for (var $i = this.directSubtypes.iterator(); $i.hasNext$0(); ) { | 21771 for (var $i = this.directSubtypes.iterator(); $i.hasNext$0(); ) { |
| 21762 var st = $i.next$0(); | 21772 var st = $i.next$0(); |
| 21763 this._subtypes.add(st); | 21773 this._subtypes.add(st); |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 22005 return member; | 22015 return member; |
| 22006 } | 22016 } |
| 22007 if ($notnull_bool(this.get$isTop())) { | 22017 if ($notnull_bool(this.get$isTop())) { |
| 22008 var libType = this.library.findTypeByName(memberName); | 22018 var libType = this.library.findTypeByName(memberName); |
| 22009 if ($notnull_bool($ne(libType, null))) { | 22019 if ($notnull_bool($ne(libType, null))) { |
| 22010 return (($0 = libType.get$typeMember()) && $0.is$Member()); | 22020 return (($0 = libType.get$typeMember()) && $0.is$Member()); |
| 22011 } | 22021 } |
| 22012 } | 22022 } |
| 22013 return this._getMemberInParents(memberName); | 22023 return this._getMemberInParents(memberName); |
| 22014 } | 22024 } |
| 22015 DefinedType.prototype.resolveMember = function(memberName) { | |
| 22016 var $0; | |
| 22017 var ret = (($0 = this._resolvedMembers.$index(memberName)) && $0.is$MemberSet(
)); | |
| 22018 if (ret != null) return ret; | |
| 22019 var member = this.getMember(memberName); | |
| 22020 if (member == null) { | |
| 22021 return null; | |
| 22022 } | |
| 22023 ret = new MemberSet(member, false); | |
| 22024 this._resolvedMembers.$setindex(memberName, ret); | |
| 22025 if ($notnull_bool(member.get$isStatic())) { | |
| 22026 return ret; | |
| 22027 } | |
| 22028 else { | |
| 22029 var $list = this.get$subtypes(); | |
| 22030 for (var $i = this.get$subtypes().iterator(); $i.hasNext$0(); ) { | |
| 22031 var t = $i.next$0(); | |
| 22032 if (!$notnull_bool(this.isClass) && $notnull_bool(t.get$isClass())) { | |
| 22033 var m = t.getMember$1(memberName); | |
| 22034 if ($notnull_bool($ne(m, null)) && ret.members.indexOf(m) == -1) { | |
| 22035 ret.add((m && m.is$Member())); | |
| 22036 } | |
| 22037 } | |
| 22038 else { | |
| 22039 var m = t.get$members().$index(memberName); | |
| 22040 if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member())); | |
| 22041 } | |
| 22042 } | |
| 22043 return ret; | |
| 22044 } | |
| 22045 } | |
| 22046 DefinedType._getDottedName = function(type) { | 22025 DefinedType._getDottedName = function(type) { |
| 22047 if (type.names != null) { | 22026 if (type.names != null) { |
| 22048 var names = map(type.names, (function (n) { | 22027 var names = map(type.names, (function (n) { |
| 22049 return n.get$name(); | 22028 return n.get$name(); |
| 22050 }) | 22029 }) |
| 22051 ); | 22030 ); |
| 22052 return type.name.name + '.' + Strings.join((names && names.is$List$String())
, '.'); | 22031 return type.name.name + '.' + Strings.join((names && names.is$List$String())
, '.'); |
| 22053 } | 22032 } |
| 22054 else { | 22033 else { |
| 22055 return type.name.name; | 22034 return type.name.name; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 22123 } | 22102 } |
| 22124 else { | 22103 else { |
| 22125 $globals.world.internalError('unknown type reference', node.span); | 22104 $globals.world.internalError('unknown type reference', node.span); |
| 22126 } | 22105 } |
| 22127 return node.type; | 22106 return node.type; |
| 22128 } | 22107 } |
| 22129 DefinedType.prototype.resolveTypeParams = function(inType) { | 22108 DefinedType.prototype.resolveTypeParams = function(inType) { |
| 22130 return this; | 22109 return this; |
| 22131 } | 22110 } |
| 22132 DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) { | 22111 DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) { |
| 22133 $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1281, 12); | 22112 $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1253, 12); |
| 22134 var names = [this.name]; | 22113 var names = [this.name]; |
| 22135 var typeMap = $map([]); | 22114 var typeMap = $map([]); |
| 22136 for (var i = 0; | 22115 for (var i = 0; |
| 22137 i < typeArgs.length; i++) { | 22116 i < typeArgs.length; i++) { |
| 22138 var paramName = this.typeParameters.$index(i).get$name(); | 22117 var paramName = this.typeParameters.$index(i).get$name(); |
| 22139 typeMap.$setindex(paramName, typeArgs.$index(i)); | 22118 typeMap.$setindex(paramName, typeArgs.$index(i)); |
| 22140 names.add$1(typeArgs.$index(i).get$name()); | 22119 names.add$1(typeArgs.$index(i).get$name()); |
| 22141 } | 22120 } |
| 22142 var concreteName = Strings.join((names && names.is$List$String()), '\$'); | 22121 var concreteName = Strings.join((names && names.is$List$String()), '\$'); |
| 22143 var ret = this._concreteTypes.$index(concreteName); | 22122 var ret = this._concreteTypes.$index(concreteName); |
| 22144 if ($notnull_bool(ret == null)) { | 22123 if ($notnull_bool(ret == null)) { |
| 22145 ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs
); | 22124 ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs
); |
| 22146 this._concreteTypes.$setindex(concreteName, ret); | 22125 this._concreteTypes.$setindex(concreteName, ret); |
| 22147 } | 22126 } |
| 22148 return (ret && ret.is$lang_Type()); | 22127 return (ret && ret.is$lang_Type()); |
| 22149 } | 22128 } |
| 22150 DefinedType.prototype.getCallStub = function(args) { | 22129 DefinedType.prototype.getCallStub = function(args) { |
| 22151 $assert(this.get$isFunction(), "isFunction", "type.dart", 1301, 12); | 22130 $assert(this.get$isFunction(), "isFunction", "type.dart", 1273, 12); |
| 22152 var name = _getCallStubName('call', args); | 22131 var name = _getCallStubName('call', args); |
| 22153 if (this.varStubs == null) this.varStubs = $map([]); | 22132 if (this.varStubs == null) this.varStubs = $map([]); |
| 22154 var stub = this.varStubs.$index(name); | 22133 var stub = this.varStubs.$index(name); |
| 22155 if ($notnull_bool(stub == null)) { | 22134 if ($notnull_bool(stub == null)) { |
| 22156 stub = new VarFunctionStub($assert_String(name), args); | 22135 stub = new VarFunctionStub($assert_String(name), args); |
| 22157 this.varStubs.$setindex(name, stub); | 22136 this.varStubs.$setindex(name, stub); |
| 22158 } | 22137 } |
| 22159 return (stub && stub.is$VarFunctionStub()); | 22138 return (stub && stub.is$VarFunctionStub()); |
| 22160 } | 22139 } |
| 22161 DefinedType.prototype.addDirectSubtype$1 = function($0) { | 22140 DefinedType.prototype.addDirectSubtype$1 = function($0) { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 22175 }; | 22154 }; |
| 22176 DefinedType.prototype.getOrMakeConcreteType$1 = function($0) { | 22155 DefinedType.prototype.getOrMakeConcreteType$1 = function($0) { |
| 22177 return this.getOrMakeConcreteType(($0 && $0.is$List$Type())); | 22156 return this.getOrMakeConcreteType(($0 && $0.is$List$Type())); |
| 22178 }; | 22157 }; |
| 22179 DefinedType.prototype.markUsed$0 = function() { | 22158 DefinedType.prototype.markUsed$0 = function() { |
| 22180 return this.markUsed(); | 22159 return this.markUsed(); |
| 22181 }; | 22160 }; |
| 22182 DefinedType.prototype.resolve$0 = function() { | 22161 DefinedType.prototype.resolve$0 = function() { |
| 22183 return this.resolve(); | 22162 return this.resolve(); |
| 22184 }; | 22163 }; |
| 22185 DefinedType.prototype.resolveMember$1 = function($0) { | |
| 22186 return this.resolveMember($assert_String($0)); | |
| 22187 }; | |
| 22188 DefinedType.prototype.resolveTypeParams$1 = function($0) { | 22164 DefinedType.prototype.resolveTypeParams$1 = function($0) { |
| 22189 return this.resolveTypeParams(($0 && $0.is$ConcreteType())); | 22165 return this.resolveTypeParams(($0 && $0.is$ConcreteType())); |
| 22190 }; | 22166 }; |
| 22191 DefinedType.prototype.setDefinition$1 = function($0) { | 22167 DefinedType.prototype.setDefinition$1 = function($0) { |
| 22192 return this.setDefinition(($0 && $0.is$Definition())); | 22168 return this.setDefinition(($0 && $0.is$Definition())); |
| 22193 }; | 22169 }; |
| 22194 // ********** Code for NativeType ************** | 22170 // ********** Code for NativeType ************** |
| 22195 function NativeType(spec) { | 22171 function NativeType(spec) { |
| 22196 // Initializers done | 22172 // Initializers done |
| 22197 if (spec.startsWith('*')) { | 22173 if (spec.startsWith('*')) { |
| (...skipping 1810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 24008 NATIVE, | 23984 NATIVE, |
| 24009 NEGATE, | 23985 NEGATE, |
| 24010 OPERATOR, | 23986 OPERATOR, |
| 24011 SET, | 23987 SET, |
| 24012 SOURCE, | 23988 SOURCE, |
| 24013 STATIC, | 23989 STATIC, |
| 24014 TYPEDEF ]*/; | 23990 TYPEDEF ]*/; |
| 24015 var $globals = {}; | 23991 var $globals = {}; |
| 24016 $static_init(); | 23992 $static_init(); |
| 24017 main(); | 23993 main(); |
| OLD | NEW |