Index: pkg/dev_compiler/lib/src/compiler/js_interop.dart |
diff --git a/pkg/dev_compiler/lib/src/compiler/js_interop.dart b/pkg/dev_compiler/lib/src/compiler/js_interop.dart |
index 7e9fcc8f74c3bd3a9fa454c36d676fc9ecd4143c..03d64b54bd4aaec35e241cb37bde8165985545f8 100644 |
--- a/pkg/dev_compiler/lib/src/compiler/js_interop.dart |
+++ b/pkg/dev_compiler/lib/src/compiler/js_interop.dart |
@@ -74,8 +74,11 @@ bool isNativeAnnotation(DartObjectImpl value) => |
/// the SDK), or `null` if there's none. This is used to control the name |
/// under which functions are compiled and exported. |
String getJSExportName(Element e) { |
+ var original = e; |
+ if (original is PropertyAccessorElement) e = original.variable; |
if (e.source.isInSystemLibrary) { |
- return getAnnotationName(e, isJSExportNameAnnotation) ?? e.name; |
+ var real = original.isSynthetic ? e : original; |
+ return getAnnotationName(real, isJSExportNameAnnotation) ?? e.name; |
} |
return e.name; |
} |