Chromium Code Reviews| Index: frog/gen.dart |
| diff --git a/frog/gen.dart b/frog/gen.dart |
| index bcb4fd0bdd59bb9217e093e2a12ef5f2874e09ca..d68f7b2b669731e6296f6338bd3864a901461a39 100644 |
| --- a/frog/gen.dart |
| +++ b/frog/gen.dart |
| @@ -975,7 +975,13 @@ class MethodGenerator implements TreeVisitor, CallingContext { |
| if (m._provideGetter) { |
| String suffix = world.gen._writePrototypePatch(m.declaringType, |
| 'get\$${m.jsname}', 'function() {', defWriter, false); |
| - defWriter.writeln('return this.${m.jsname}.bind(this);'); |
| + if (m.parameters.some((p) => p.isOptional)) { |
| + defWriter.writeln('var \$bound = this.${m.jsname}.bind(this);'); |
|
sra1
2012/04/21 03:33:14
nit.
$bound could be any name (e.g. 'f') since the
|
| + defWriter.writeln('\$bound.\$optional = this.${m.jsname}.\$optional;'); |
| + defWriter.writeln('return \$bound;'); |
| + } else { |
| + defWriter.writeln('return this.${m.jsname}.bind(this);'); |
| + } |
| defWriter.exitBlock(suffix); |
| return true; |
| } |