Index: frog/var_member.dart |
diff --git a/frog/var_member.dart b/frog/var_member.dart |
index 720d314882b5f792c083b88067f997171b2c31d1..ef7960ef8290885be514f9eb688da707b18ea48e 100644 |
--- a/frog/var_member.dart |
+++ b/frog/var_member.dart |
@@ -11,9 +11,11 @@ class VarMember { |
abstract void generate(CodeWriter code); |
+ String get body() => null; |
+ |
Type get returnType() => world.varType; |
- Value invoke(MethodGenerator context, Node node, Value target, Arguments args) { |
+ Value invoke(CallingContext context, Node node, Value target, Arguments args) { |
return new Value(returnType, |
'${target.code}.$name(${args.getCode()})', node.span); |
} |
@@ -73,7 +75,7 @@ class VarFunctionStub extends VarMember { |
world.gen.genMethod(world.functionImplType.getMember('_genStub')); |
} |
- Value invoke(MethodGenerator context, Node node, Value target, |
+ Value invoke(CallingContext context, Node node, Value target, |
Arguments args) { |
return super.invoke(context, node, target, args); |
} |
@@ -218,14 +220,14 @@ class VarMethodSet extends VarMember { |
: super(name), args = callArgs.toCallStubArgs() { |
} |
- Value invoke(MethodGenerator context, Node node, Value target, |
+ Value invoke(CallingContext context, Node node, Value target, |
Arguments args) { |
_invokeMembers(context, node); |
return super.invoke(context, node, target, args); |
} |
/** Invokes members to ensure they're generated. */ |
- _invokeMembers(MethodGenerator context, Node node) { |
+ _invokeMembers(CallingContext context, Node node) { |
if (invoked) return; |
invoked = true; |
@@ -235,7 +237,7 @@ class VarMethodSet extends VarMember { |
// then create the stub method. |
final type = member.declaringType; |
final target = new Value(type, 'this', node.span); |
- var result = member.invoke(context, node, target, args, isDynamic:true); |
+ var result = member.invoke(context, node, target, args); |
var stub = new VarMethodStub(name, member, args, 'return ' + result.code); |
type.varStubs[stub.name] = stub; |
if (type.isObject) hasObjectType = true; |
@@ -261,14 +263,14 @@ String _getCallStubName(String name, Arguments args) { |
// to have methods called 'foo' and 'foo$0'. |
final nameBuilder = new StringBuffer('${name}\$${args.bareCount}'); |
for (int i = args.bareCount; i < args.length; i++) { |
- var name = args.getName(i); |
+ var argName = args.getName(i); |
nameBuilder.add('\$'); |
- if (name.contains('\$')) { |
+ if (argName.contains('\$')) { |
// Disambiguate "a:b:" from "a$b:". Using the length works well because |
// the names can't start with digits. |
- nameBuilder.add('${name.length}'); |
+ nameBuilder.add('${argName.length}'); |
} |
- nameBuilder.add(name); |
+ nameBuilder.add(argName); |
} |
return nameBuilder.toString(); |
} |