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..0f0b61950dbf10279ad862346fa8e4547c8ac764 100644 |
--- a/lib/src/compiler/code_generator.dart |
+++ b/lib/src/compiler/code_generator.dart |
@@ -3054,6 +3054,14 @@ class CodeGenerator extends GeneralizingAstVisitor |
return js.call('dart.dload(#, #)', [_visit(target), name]); |
} |
+ if (target is SuperExpression && |
+ member is FieldElement && |
+ member.getter.isSynthetic) { |
vsm
2016/04/18 20:27:43
Do we need this for setters as well?
Harry Terkelsen
2016/04/18 20:59:50
Doesn't synthetic getter imply synthetic setter? A
|
+ // 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. |