| 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 13323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13334 $globals.world.error('static members can not hide parent members', this.get$
span(), other.get$span()); | 13334 $globals.world.error('static members can not hide parent members', this.get$
span(), other.get$span()); |
| 13335 return false; | 13335 return false; |
| 13336 } | 13336 } |
| 13337 else if ($notnull_bool(other.get$isStatic())) { | 13337 else if ($notnull_bool(other.get$isStatic())) { |
| 13338 $globals.world.error('can not override static member', this.get$span(), othe
r.get$span()); | 13338 $globals.world.error('can not override static member', this.get$span(), othe
r.get$span()); |
| 13339 return false; | 13339 return false; |
| 13340 } | 13340 } |
| 13341 return true; | 13341 return true; |
| 13342 } | 13342 } |
| 13343 Member.prototype.get$generatedFactoryName = function() { | 13343 Member.prototype.get$generatedFactoryName = function() { |
| 13344 $assert(this.get$isFactory(), "this.isFactory", "member.dart", 201, 12); | 13344 $assert(this.get$isFactory(), "this.isFactory", "member.dart", 203, 12); |
| 13345 var prefix = ('' + this.declaringType.get$jsname() + '.' + this.get$constructo
rName() + '\$'); | 13345 var prefix = ('' + this.declaringType.get$jsname() + '.' + this.get$constructo
rName() + '\$'); |
| 13346 if (this.name == '') { | 13346 if (this.name == '') { |
| 13347 return ('' + prefix + 'factory'); | 13347 return ('' + prefix + 'factory'); |
| 13348 } | 13348 } |
| 13349 else { | 13349 else { |
| 13350 return ('' + prefix + this.name + '\$factory'); | 13350 return ('' + prefix + this.name + '\$factory'); |
| 13351 } | 13351 } |
| 13352 } | 13352 } |
| 13353 Member.prototype.resolveType = function(node, isRequired) { | 13353 Member.prototype.resolveType = function(node, isRequired) { |
| 13354 var type = this.declaringType.resolveType(node, isRequired); | 13354 var type = this.declaringType.resolveType(node, isRequired); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13414 TypeMember.prototype.get$canSet = function() { | 13414 TypeMember.prototype.get$canSet = function() { |
| 13415 return false; | 13415 return false; |
| 13416 } | 13416 } |
| 13417 TypeMember.prototype.resolve = function(inType) { | 13417 TypeMember.prototype.resolve = function(inType) { |
| 13418 | 13418 |
| 13419 } | 13419 } |
| 13420 TypeMember.prototype._get = function(context, node, target, isDynamic) { | 13420 TypeMember.prototype._get = function(context, node, target, isDynamic) { |
| 13421 return new Value.type$ctor(this.type, node.span); | 13421 return new Value.type$ctor(this.type, node.span); |
| 13422 } | 13422 } |
| 13423 TypeMember.prototype._set = function(context, node, target, value, isDynamic) { | 13423 TypeMember.prototype._set = function(context, node, target, value, isDynamic) { |
| 13424 $globals.world.error('can not set type', node.span); | 13424 $globals.world.error('cannot set type', node.span); |
| 13425 } | 13425 } |
| 13426 TypeMember.prototype.invoke = function(context, node, target, args, isDynamic) { | 13426 TypeMember.prototype.invoke = function(context, node, target, args, isDynamic) { |
| 13427 $globals.world.error('can not invoke type', node.span); | 13427 $globals.world.error('cannot invoke type', node.span); |
| 13428 } | 13428 } |
| 13429 TypeMember.prototype._get$3 = function($0, $1, $2) { | 13429 TypeMember.prototype._get$3 = function($0, $1, $2) { |
| 13430 return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), false); | 13430 return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), false); |
| 13431 }; | 13431 }; |
| 13432 TypeMember.prototype._set$4 = function($0, $1, $2, $3) { | 13432 TypeMember.prototype._set$4 = function($0, $1, $2, $3) { |
| 13433 return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), ($3 && $3.is$Value()), false); | 13433 return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), ($3 && $3.is$Value()), false); |
| 13434 }; | 13434 }; |
| 13435 TypeMember.prototype.canInvoke$2 = function($0, $1) { | 13435 TypeMember.prototype.canInvoke$2 = function($0, $1) { |
| 13436 return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments(
))); | 13436 return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments(
))); |
| 13437 }; | 13437 }; |
| (...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14003 } | 14003 } |
| 14004 MethodMember.prototype.get$requiresFieldSyntax = function() { | 14004 MethodMember.prototype.get$requiresFieldSyntax = function() { |
| 14005 return false; | 14005 return false; |
| 14006 } | 14006 } |
| 14007 MethodMember.prototype.provideFieldSyntax = function() { | 14007 MethodMember.prototype.provideFieldSyntax = function() { |
| 14008 this._provideFieldSyntax = true; | 14008 this._provideFieldSyntax = true; |
| 14009 } | 14009 } |
| 14010 MethodMember.prototype.providePropertySyntax = function() { | 14010 MethodMember.prototype.providePropertySyntax = function() { |
| 14011 this._providePropertySyntax = true; | 14011 this._providePropertySyntax = true; |
| 14012 } | 14012 } |
| 14013 MethodMember.prototype._set = function(context, Node, target, value, isDynamic)
{ | 14013 MethodMember.prototype._set = function(context, node, target, value, isDynamic)
{ |
| 14014 $globals.world.error('can not set method', this.definition.span); | 14014 $globals.world.error('cannot set method', node.span); |
| 14015 } | 14015 } |
| 14016 MethodMember.prototype._get = function(context, node, target, isDynamic) { | 14016 MethodMember.prototype._get = function(context, node, target, isDynamic) { |
| 14017 this.declaringType.genMethod(this); | 14017 this.declaringType.genMethod(this); |
| 14018 this._provideOptionalParamInfo = true; | 14018 this._provideOptionalParamInfo = true; |
| 14019 if ($notnull_bool(this.isStatic)) { | 14019 if ($notnull_bool(this.isStatic)) { |
| 14020 this.declaringType.markUsed(); | 14020 this.declaringType.markUsed(); |
| 14021 var type = $notnull_bool(this.declaringType.get$isTop()) ? '' : ('' + this.d
eclaringType.get$jsname() + '.'); | 14021 var type = $notnull_bool(this.declaringType.get$isTop()) ? '' : ('' + this.d
eclaringType.get$jsname() + '.'); |
| 14022 return new Value(this.get$functionType(), ('' + type + this.get$jsname()), n
ode.span, true); | 14022 return new Value(this.get$functionType(), ('' + type + this.get$jsname()), n
ode.span, true); |
| 14023 } | 14023 } |
| 14024 this._providePropertySyntax = true; | 14024 this._providePropertySyntax = true; |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14159 if ($notnull_bool(this.get$isConstructor())) { | 14159 if ($notnull_bool(this.get$isConstructor())) { |
| 14160 return this._invokeConstructor(context, node, target, args, argsString); | 14160 return this._invokeConstructor(context, node, target, args, argsString); |
| 14161 } | 14161 } |
| 14162 if ($notnull_bool(target.isSuper)) { | 14162 if ($notnull_bool(target.isSuper)) { |
| 14163 return new Value(this.get$inferredResult(), ('' + this.declaringType.get$jsn
ame() + '.prototype.' + this.get$jsname() + '.call(' + argsString + ')'), node.s
pan, true); | 14163 return new Value(this.get$inferredResult(), ('' + this.declaringType.get$jsn
ame() + '.prototype.' + this.get$jsname() + '.call(' + argsString + ')'), node.s
pan, true); |
| 14164 } | 14164 } |
| 14165 if ($notnull_bool(this.get$isOperator())) { | 14165 if ($notnull_bool(this.get$isOperator())) { |
| 14166 return this._invokeBuiltin(context, node, target, args, argsCode, isDynamic)
; | 14166 return this._invokeBuiltin(context, node, target, args, argsCode, isDynamic)
; |
| 14167 } | 14167 } |
| 14168 if ($notnull_bool(this.isFactory)) { | 14168 if ($notnull_bool(this.isFactory)) { |
| 14169 $assert(target.isType, "target.isType", "member.dart", 958, 14); | 14169 $assert(target.isType, "target.isType", "member.dart", 960, 14); |
| 14170 return new Value(target.type, ('' + this.get$generatedFactoryName() + '(' +
argsString + ')'), node.span, true); | 14170 return new Value(target.type, ('' + this.get$generatedFactoryName() + '(' +
argsString + ')'), node.span, true); |
| 14171 } | 14171 } |
| 14172 if ($notnull_bool(this.isStatic)) { | 14172 if ($notnull_bool(this.isStatic)) { |
| 14173 if ($notnull_bool(this.declaringType.get$isTop())) { | 14173 if ($notnull_bool(this.declaringType.get$isTop())) { |
| 14174 return new Value(this.get$inferredResult(), ('' + this.get$jsname() + '('
+ argsString + ')'), node != null ? node.span : node, true); | 14174 return new Value(this.get$inferredResult(), ('' + this.get$jsname() + '('
+ argsString + ')'), node != null ? node.span : node, true); |
| 14175 } | 14175 } |
| 14176 return new Value(this.get$inferredResult(), ('' + this.declaringType.get$jsn
ame() + '.' + this.get$jsname() + '(' + argsString + ')'), node.span, true); | 14176 return new Value(this.get$inferredResult(), ('' + this.declaringType.get$jsn
ame() + '.' + this.get$jsname() + '(' + argsString + ')'), node.span, true); |
| 14177 } | 14177 } |
| 14178 var code = ('' + target.code + '.' + this.get$jsname() + '(' + argsString + ')
'); | 14178 var code = ('' + target.code + '.' + this.get$jsname() + '(' + argsString + ')
'); |
| 14179 if ($notnull_bool(target.get$isConst())) { | 14179 if ($notnull_bool(target.get$isConst())) { |
| (...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14594 node.type = (($0 = baseType.getOrMakeConcreteType$1(typeArguments)) && $0.
is$lang_Type()); | 14594 node.type = (($0 = baseType.getOrMakeConcreteType$1(typeArguments)) && $0.
is$lang_Type()); |
| 14595 return node.type; | 14595 return node.type; |
| 14596 } | 14596 } |
| 14597 } | 14597 } |
| 14598 return Member.prototype.resolveType.call(this, node, isRequired); | 14598 return Member.prototype.resolveType.call(this, node, isRequired); |
| 14599 } | 14599 } |
| 14600 MethodMember.prototype._get$3 = function($0, $1, $2) { | 14600 MethodMember.prototype._get$3 = function($0, $1, $2) { |
| 14601 return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), false); | 14601 return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), false); |
| 14602 }; | 14602 }; |
| 14603 MethodMember.prototype._set$4 = function($0, $1, $2, $3) { | 14603 MethodMember.prototype._set$4 = function($0, $1, $2, $3) { |
| 14604 return this._set(($0 && $0.is$MethodGenerator()), $1, ($2 && $2.is$Value()), (
$3 && $3.is$Value()), false); | 14604 return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), ($3 && $3.is$Value()), false); |
| 14605 }; | 14605 }; |
| 14606 MethodMember.prototype.canInvoke$2 = function($0, $1) { | 14606 MethodMember.prototype.canInvoke$2 = function($0, $1) { |
| 14607 return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments(
))); | 14607 return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments(
))); |
| 14608 }; | 14608 }; |
| 14609 MethodMember.prototype.invoke$4 = function($0, $1, $2, $3) { | 14609 MethodMember.prototype.invoke$4 = function($0, $1, $2, $3) { |
| 14610 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false); | 14610 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false); |
| 14611 }; | 14611 }; |
| 14612 MethodMember.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic)
{ | 14612 MethodMember.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic)
{ |
| 14613 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic)); | 14613 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic)); |
| 14614 }; | 14614 }; |
| (...skipping 5849 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20464 } | 20464 } |
| 20465 ret = new MemberSet(member, false); | 20465 ret = new MemberSet(member, false); |
| 20466 this._resolvedMembers.$setindex(memberName, ret); | 20466 this._resolvedMembers.$setindex(memberName, ret); |
| 20467 if ($notnull_bool(member.get$isStatic())) { | 20467 if ($notnull_bool(member.get$isStatic())) { |
| 20468 return ret; | 20468 return ret; |
| 20469 } | 20469 } |
| 20470 else { | 20470 else { |
| 20471 var $list = this.get$subtypes(); | 20471 var $list = this.get$subtypes(); |
| 20472 for (var $i = this.get$subtypes().iterator(); $i.hasNext$0(); ) { | 20472 for (var $i = this.get$subtypes().iterator(); $i.hasNext$0(); ) { |
| 20473 var t = $i.next$0(); | 20473 var t = $i.next$0(); |
| 20474 var m = null; | |
| 20475 if (!$notnull_bool(this.isClass) && $notnull_bool(t.get$isClass())) { | 20474 if (!$notnull_bool(this.isClass) && $notnull_bool(t.get$isClass())) { |
| 20476 m = t.getMember$1(memberName); | 20475 var m = t.getMember$1(memberName); |
| 20476 if ($notnull_bool($ne(m, null)) && ret.members.indexOf(m) == -1) { |
| 20477 ret.add((m && m.is$Member())); |
| 20478 } |
| 20477 } | 20479 } |
| 20478 else { | 20480 else { |
| 20479 m = t.get$members().$index(memberName); | 20481 var m = t.get$members().$index(memberName); |
| 20482 if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member())); |
| 20480 } | 20483 } |
| 20481 if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member())); | |
| 20482 } | 20484 } |
| 20483 return ret; | 20485 return ret; |
| 20484 } | 20486 } |
| 20485 } | 20487 } |
| 20486 DefinedType._getDottedName = function(type) { | 20488 DefinedType._getDottedName = function(type) { |
| 20487 if (type.names != null) { | 20489 if (type.names != null) { |
| 20488 var names = map(type.names, (function (n) { | 20490 var names = map(type.names, (function (n) { |
| 20489 return n.get$name(); | 20491 return n.get$name(); |
| 20490 }) | 20492 }) |
| 20491 ); | 20493 ); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20563 } | 20565 } |
| 20564 else { | 20566 else { |
| 20565 $globals.world.internalError('unknown type reference', node.span); | 20567 $globals.world.internalError('unknown type reference', node.span); |
| 20566 } | 20568 } |
| 20567 return node.type; | 20569 return node.type; |
| 20568 } | 20570 } |
| 20569 DefinedType.prototype.resolveTypeParams = function(inType) { | 20571 DefinedType.prototype.resolveTypeParams = function(inType) { |
| 20570 return this; | 20572 return this; |
| 20571 } | 20573 } |
| 20572 DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) { | 20574 DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) { |
| 20573 $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1248, 12); | 20575 $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1251, 12); |
| 20574 var names = [this.name]; | 20576 var names = [this.name]; |
| 20575 var typeMap = $map([]); | 20577 var typeMap = $map([]); |
| 20576 for (var i = 0; | 20578 for (var i = 0; |
| 20577 i < typeArgs.length; i++) { | 20579 i < typeArgs.length; i++) { |
| 20578 var paramName = this.typeParameters.$index(i).get$name(); | 20580 var paramName = this.typeParameters.$index(i).get$name(); |
| 20579 typeMap.$setindex(paramName, typeArgs.$index(i)); | 20581 typeMap.$setindex(paramName, typeArgs.$index(i)); |
| 20580 names.add$1(typeArgs.$index(i).get$name()); | 20582 names.add$1(typeArgs.$index(i).get$name()); |
| 20581 } | 20583 } |
| 20582 var concreteName = Strings.join((names && names.is$List$String()), '\$'); | 20584 var concreteName = Strings.join((names && names.is$List$String()), '\$'); |
| 20583 var ret = this._concreteTypes.$index(concreteName); | 20585 var ret = this._concreteTypes.$index(concreteName); |
| 20584 if ($notnull_bool(ret == null)) { | 20586 if ($notnull_bool(ret == null)) { |
| 20585 ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs
); | 20587 ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs
); |
| 20586 this._concreteTypes.$setindex(concreteName, ret); | 20588 this._concreteTypes.$setindex(concreteName, ret); |
| 20587 } | 20589 } |
| 20588 return (ret && ret.is$lang_Type()); | 20590 return (ret && ret.is$lang_Type()); |
| 20589 } | 20591 } |
| 20590 DefinedType.prototype.getCallStub = function(args) { | 20592 DefinedType.prototype.getCallStub = function(args) { |
| 20591 $assert(this.get$isFunction(), "isFunction", "type.dart", 1268, 12); | 20593 $assert(this.get$isFunction(), "isFunction", "type.dart", 1271, 12); |
| 20592 var name = _getCallStubName('call', args); | 20594 var name = _getCallStubName('call', args); |
| 20593 if (this.varStubs == null) this.varStubs = $map([]); | 20595 if (this.varStubs == null) this.varStubs = $map([]); |
| 20594 var stub = this.varStubs.$index(name); | 20596 var stub = this.varStubs.$index(name); |
| 20595 if ($notnull_bool(stub == null)) { | 20597 if ($notnull_bool(stub == null)) { |
| 20596 stub = new VarFunctionStub($assert_String(name), args); | 20598 stub = new VarFunctionStub($assert_String(name), args); |
| 20597 this.varStubs.$setindex(name, stub); | 20599 this.varStubs.$setindex(name, stub); |
| 20598 } | 20600 } |
| 20599 return (stub && stub.is$VarFunctionStub()); | 20601 return (stub && stub.is$VarFunctionStub()); |
| 20600 } | 20602 } |
| 20601 DefinedType.prototype.addDirectSubtype$1 = function($0) { | 20603 DefinedType.prototype.addDirectSubtype$1 = function($0) { |
| (...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21353 var mset = this._members.$index(member.name); | 21355 var mset = this._members.$index(member.name); |
| 21354 if ($notnull_bool(mset == null)) { | 21356 if ($notnull_bool(mset == null)) { |
| 21355 mset = new MemberSet(member, true); | 21357 mset = new MemberSet(member, true); |
| 21356 this._members.$setindex(mset.get$name(), mset); | 21358 this._members.$setindex(mset.get$name(), mset); |
| 21357 } | 21359 } |
| 21358 else { | 21360 else { |
| 21359 mset.get$members().add$1(member); | 21361 mset.get$members().add$1(member); |
| 21360 } | 21362 } |
| 21361 } | 21363 } |
| 21362 World.prototype._addTopName = function(named) { | 21364 World.prototype._addTopName = function(named) { |
| 21363 var $0; | |
| 21364 var existing = this._topNames.$index(named.get$name()); | 21365 var existing = this._topNames.$index(named.get$name()); |
| 21365 if ($notnull_bool($ne(existing, null))) { | 21366 if ($notnull_bool($ne(existing, null))) { |
| 21366 this.info(('mangling matching top level name "' + named.get$name() + '" in '
) + ('both "' + named.get$library().name + '" and "' + existing.get$library().ge
t$name() + '"')); | 21367 this.info(('mangling matching top level name "' + named.get$name() + '" in '
) + ('both "' + named.get$library().name + '" and "' + existing.get$library().ge
t$name() + '"')); |
| 21367 if ($notnull_bool(named.get$isNative())) { | 21368 if ($notnull_bool(named.get$isNative())) { |
| 21368 if ($notnull_bool(existing.get$isNative())) { | 21369 if ($notnull_bool(existing.get$isNative())) { |
| 21369 $globals.world.internalError(('conflicting native names "' + named.get$n
ame() + '" ') + ('(already defined in ' + existing.get$span().get$locationText()
+ ')'), (($0 = named.get$span()) && $0.is$SourceSpan())); | 21370 $globals.world.internalError(('conflicting native names "' + named.get$n
ame() + '" ') + ('(already defined in ' + existing.get$span().get$locationText()
+ ')'), named.get$span()); |
| 21370 } | 21371 } |
| 21371 else { | 21372 else { |
| 21372 this._topNames.$setindex(named.get$name(), named); | 21373 this._topNames.$setindex(named.get$name(), named); |
| 21373 this._addJavascriptTopName((existing && existing.is$Named())); | 21374 this._addJavascriptTopName((existing && existing.is$Named())); |
| 21374 } | 21375 } |
| 21375 } | 21376 } |
| 21376 else if ($notnull_bool(named.get$library().get$isCore())) { | 21377 else if ($notnull_bool(named.get$library().get$isCore())) { |
| 21377 if ($notnull_bool(existing.get$library().get$isCore())) { | 21378 if ($notnull_bool(existing.get$library().get$isCore())) { |
| 21378 $globals.world.internalError(('conflicting top-level names in core "' +
named.get$name() + '" ') + ('(previously defined in ' + existing.get$span().get$
locationText() + ')'), (($0 = named.get$span()) && $0.is$SourceSpan())); | 21379 $globals.world.internalError(('conflicting top-level names in core "' +
named.get$name() + '" ') + ('(previously defined in ' + existing.get$span().get$
locationText() + ')'), named.get$span()); |
| 21379 } | 21380 } |
| 21380 else { | 21381 else { |
| 21381 this._topNames.$setindex(named.get$name(), named); | 21382 this._topNames.$setindex(named.get$name(), named); |
| 21382 this._addJavascriptTopName((existing && existing.is$Named())); | 21383 this._addJavascriptTopName((existing && existing.is$Named())); |
| 21383 } | 21384 } |
| 21384 } | 21385 } |
| 21385 else { | 21386 else { |
| 21386 this._addJavascriptTopName(named); | 21387 this._addJavascriptTopName(named); |
| 21387 } | 21388 } |
| 21388 } | 21389 } |
| 21389 else { | 21390 else { |
| 21390 this._topNames.$setindex(named.get$name(), named); | 21391 this._topNames.$setindex(named.get$name(), named); |
| 21391 } | 21392 } |
| 21392 } | 21393 } |
| 21393 World.prototype._addJavascriptTopName = function(named) { | 21394 World.prototype._addJavascriptTopName = function(named) { |
| 21394 var $0; | |
| 21395 named.set$jsname(('' + named.get$library().get$jsname() + '_' + named.get$name
())); | 21395 named.set$jsname(('' + named.get$library().get$jsname() + '_' + named.get$name
())); |
| 21396 var existing = this._topNames.$index(named.get$jsname()); | 21396 var existing = this._topNames.$index(named.get$jsname()); |
| 21397 if ($notnull_bool($ne(existing, null)) && $notnull_bool($ne(existing, named)))
{ | 21397 if ($notnull_bool($ne(existing, null)) && $notnull_bool($ne(existing, named)))
{ |
| 21398 $globals.world.internalError(('name mangling failed for "' + named.get$jsnam
e() + '" ') + ('("' + named.get$jsname() + '" defined also in ' + existing.get$s
pan().get$locationText() + ')'), (($0 = named.get$span()) && $0.is$SourceSpan())
); | 21398 $globals.world.internalError(('name mangling failed for "' + named.get$jsnam
e() + '" ') + ('("' + named.get$jsname() + '" defined also in ' + existing.get$s
pan().get$locationText() + ')'), named.get$span()); |
| 21399 } | 21399 } |
| 21400 this._topNames.$setindex(named.get$jsname(), named); | 21400 this._topNames.$setindex(named.get$jsname(), named); |
| 21401 } | 21401 } |
| 21402 World.prototype._addType = function(type) { | 21402 World.prototype._addType = function(type) { |
| 21403 if (!$notnull_bool(type.get$isTop())) this._addTopName(type); | 21403 if (!$notnull_bool(type.get$isTop())) this._addTopName(type); |
| 21404 } | 21404 } |
| 21405 World.prototype._addToCoreLib = function(name, isClass) { | 21405 World.prototype._addToCoreLib = function(name, isClass) { |
| 21406 var ret = new DefinedType(name, this.corelib, null, isClass); | 21406 var ret = new DefinedType(name, this.corelib, null, isClass); |
| 21407 this.corelib.types.$setindex(name, ret); | 21407 this.corelib.types.$setindex(name, ret); |
| 21408 return ret; | 21408 return ret; |
| (...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 22390 NATIVE, | 22390 NATIVE, |
| 22391 NEGATE, | 22391 NEGATE, |
| 22392 OPERATOR, | 22392 OPERATOR, |
| 22393 SET, | 22393 SET, |
| 22394 SOURCE, | 22394 SOURCE, |
| 22395 STATIC, | 22395 STATIC, |
| 22396 TYPEDEF ]*/; | 22396 TYPEDEF ]*/; |
| 22397 var $globals = {}; | 22397 var $globals = {}; |
| 22398 $static_init(); | 22398 $static_init(); |
| 22399 main(); | 22399 main(); |
| OLD | NEW |