Index: lib/src/compiler/code_generator.dart |
diff --git a/lib/src/compiler/code_generator.dart b/lib/src/compiler/code_generator.dart |
index ca56b1f7938fadaa362d2916ea0bc13415cc0d81..008a106236b5122ebd93efdf7955e06376bcf4d3 100644 |
--- a/lib/src/compiler/code_generator.dart |
+++ b/lib/src/compiler/code_generator.dart |
@@ -3054,6 +3054,15 @@ class CodeGenerator extends GeneralizingAstVisitor |
return js.call('dart.dload(#, #)', [_visit(target), name]); |
} |
+ if (target is SuperExpression && |
+ member is FieldElement && |
+ member.getter.isSynthetic && |
+ member.setter.isSynthetic) { |
Jennifer Messerly
2016/04/18 21:10:12
Oops I didn't reply fast enough to the original th
Jennifer Messerly
2016/04/18 21:20:13
Ah, so you should be able to just check `!member.i
Harry Terkelsen
2016/04/18 21:28:58
On final fields, setter is null. I'll just check i
|
+ // If super.x is actually a field, then x is an instance property since |
+ // subclasses cannot override x. |
+ return js.call('this.#', [name]); |
+ } |
+ |
String code; |
if (member != null && member is MethodElement && !isStatic) { |
// Tear-off methods: explicitly bind it. |