| Index: frog/frogsh
|
| diff --git a/frog/frogsh b/frog/frogsh
|
| index 1d26d2aac877cb1a5421a53bba6ca359484822ca..4e2d34c0b2c37ced6db17eda72a0c28ecaca87e1 100755
|
| --- a/frog/frogsh
|
| +++ b/frog/frogsh
|
| @@ -13341,7 +13341,7 @@ Member.prototype.override = function(other) {
|
| return true;
|
| }
|
| Member.prototype.get$generatedFactoryName = function() {
|
| - $assert(this.get$isFactory(), "this.isFactory", "member.dart", 201, 12);
|
| + $assert(this.get$isFactory(), "this.isFactory", "member.dart", 203, 12);
|
| var prefix = ('' + this.declaringType.get$jsname() + '.' + this.get$constructorName() + '\$');
|
| if (this.name == '') {
|
| return ('' + prefix + 'factory');
|
| @@ -13421,10 +13421,10 @@ TypeMember.prototype._get = function(context, node, target, isDynamic) {
|
| return new Value.type$ctor(this.type, node.span);
|
| }
|
| TypeMember.prototype._set = function(context, node, target, value, isDynamic) {
|
| - $globals.world.error('can not set type', node.span);
|
| + $globals.world.error('cannot set type', node.span);
|
| }
|
| TypeMember.prototype.invoke = function(context, node, target, args, isDynamic) {
|
| - $globals.world.error('can not invoke type', node.span);
|
| + $globals.world.error('cannot invoke type', node.span);
|
| }
|
| TypeMember.prototype._get$3 = function($0, $1, $2) {
|
| return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), false);
|
| @@ -14010,8 +14010,8 @@ MethodMember.prototype.provideFieldSyntax = function() {
|
| MethodMember.prototype.providePropertySyntax = function() {
|
| this._providePropertySyntax = true;
|
| }
|
| -MethodMember.prototype._set = function(context, Node, target, value, isDynamic) {
|
| - $globals.world.error('can not set method', this.definition.span);
|
| +MethodMember.prototype._set = function(context, node, target, value, isDynamic) {
|
| + $globals.world.error('cannot set method', node.span);
|
| }
|
| MethodMember.prototype._get = function(context, node, target, isDynamic) {
|
| this.declaringType.genMethod(this);
|
| @@ -14166,7 +14166,7 @@ MethodMember.prototype.invoke = function(context, node, target, args, isDynamic)
|
| return this._invokeBuiltin(context, node, target, args, argsCode, isDynamic);
|
| }
|
| if ($notnull_bool(this.isFactory)) {
|
| - $assert(target.isType, "target.isType", "member.dart", 958, 14);
|
| + $assert(target.isType, "target.isType", "member.dart", 960, 14);
|
| return new Value(target.type, ('' + this.get$generatedFactoryName() + '(' + argsString + ')'), node.span, true);
|
| }
|
| if ($notnull_bool(this.isStatic)) {
|
| @@ -14601,7 +14601,7 @@ MethodMember.prototype._get$3 = function($0, $1, $2) {
|
| return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), false);
|
| };
|
| MethodMember.prototype._set$4 = function($0, $1, $2, $3) {
|
| - return this._set(($0 && $0.is$MethodGenerator()), $1, ($2 && $2.is$Value()), ($3 && $3.is$Value()), false);
|
| + return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), ($2 && $2.is$Value()), ($3 && $3.is$Value()), false);
|
| };
|
| MethodMember.prototype.canInvoke$2 = function($0, $1) {
|
| return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments()));
|
| @@ -20471,14 +20471,16 @@ DefinedType.prototype.resolveMember = function(memberName) {
|
| var $list = this.get$subtypes();
|
| for (var $i = this.get$subtypes().iterator(); $i.hasNext$0(); ) {
|
| var t = $i.next$0();
|
| - var m = null;
|
| if (!$notnull_bool(this.isClass) && $notnull_bool(t.get$isClass())) {
|
| - m = t.getMember$1(memberName);
|
| + var m = t.getMember$1(memberName);
|
| + if ($notnull_bool($ne(m, null)) && ret.members.indexOf(m) == -1) {
|
| + ret.add((m && m.is$Member()));
|
| + }
|
| }
|
| else {
|
| - m = t.get$members().$index(memberName);
|
| + var m = t.get$members().$index(memberName);
|
| + if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member()));
|
| }
|
| - if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member()));
|
| }
|
| return ret;
|
| }
|
| @@ -20570,7 +20572,7 @@ DefinedType.prototype.resolveTypeParams = function(inType) {
|
| return this;
|
| }
|
| DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) {
|
| - $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1248, 12);
|
| + $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1251, 12);
|
| var names = [this.name];
|
| var typeMap = $map([]);
|
| for (var i = 0;
|
| @@ -20588,7 +20590,7 @@ DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) {
|
| return (ret && ret.is$lang_Type());
|
| }
|
| DefinedType.prototype.getCallStub = function(args) {
|
| - $assert(this.get$isFunction(), "isFunction", "type.dart", 1268, 12);
|
| + $assert(this.get$isFunction(), "isFunction", "type.dart", 1271, 12);
|
| var name = _getCallStubName('call', args);
|
| if (this.varStubs == null) this.varStubs = $map([]);
|
| var stub = this.varStubs.$index(name);
|
| @@ -21360,13 +21362,12 @@ World.prototype._addMember = function(member) {
|
| }
|
| }
|
| World.prototype._addTopName = function(named) {
|
| - var $0;
|
| var existing = this._topNames.$index(named.get$name());
|
| if ($notnull_bool($ne(existing, null))) {
|
| this.info(('mangling matching top level name "' + named.get$name() + '" in ') + ('both "' + named.get$library().name + '" and "' + existing.get$library().get$name() + '"'));
|
| if ($notnull_bool(named.get$isNative())) {
|
| if ($notnull_bool(existing.get$isNative())) {
|
| - $globals.world.internalError(('conflicting native names "' + named.get$name() + '" ') + ('(already defined in ' + existing.get$span().get$locationText() + ')'), (($0 = named.get$span()) && $0.is$SourceSpan()));
|
| + $globals.world.internalError(('conflicting native names "' + named.get$name() + '" ') + ('(already defined in ' + existing.get$span().get$locationText() + ')'), named.get$span());
|
| }
|
| else {
|
| this._topNames.$setindex(named.get$name(), named);
|
| @@ -21375,7 +21376,7 @@ World.prototype._addTopName = function(named) {
|
| }
|
| else if ($notnull_bool(named.get$library().get$isCore())) {
|
| if ($notnull_bool(existing.get$library().get$isCore())) {
|
| - $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()));
|
| + $globals.world.internalError(('conflicting top-level names in core "' + named.get$name() + '" ') + ('(previously defined in ' + existing.get$span().get$locationText() + ')'), named.get$span());
|
| }
|
| else {
|
| this._topNames.$setindex(named.get$name(), named);
|
| @@ -21391,11 +21392,10 @@ World.prototype._addTopName = function(named) {
|
| }
|
| }
|
| World.prototype._addJavascriptTopName = function(named) {
|
| - var $0;
|
| named.set$jsname(('' + named.get$library().get$jsname() + '_' + named.get$name()));
|
| var existing = this._topNames.$index(named.get$jsname());
|
| if ($notnull_bool($ne(existing, null)) && $notnull_bool($ne(existing, named))) {
|
| - $globals.world.internalError(('name mangling failed for "' + named.get$jsname() + '" ') + ('("' + named.get$jsname() + '" defined also in ' + existing.get$span().get$locationText() + ')'), (($0 = named.get$span()) && $0.is$SourceSpan()));
|
| + $globals.world.internalError(('name mangling failed for "' + named.get$jsname() + '" ') + ('("' + named.get$jsname() + '" defined also in ' + existing.get$span().get$locationText() + ')'), named.get$span());
|
| }
|
| this._topNames.$setindex(named.get$jsname(), named);
|
| }
|
|
|