Index: lib/html/templates/html/impl/impl_Element.darttemplate |
diff --git a/lib/html/templates/html/impl/impl_Element.darttemplate b/lib/html/templates/html/impl/impl_Element.darttemplate |
index 6be2882b7bcc77ac384753a5376af03c02520628..092743d947a8d91aeacffb59a24adf1a57817685 100644 |
--- a/lib/html/templates/html/impl/impl_Element.darttemplate |
+++ b/lib/html/templates/html/impl/impl_Element.darttemplate |
@@ -738,11 +738,18 @@ class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
var xtag; |
$if DARTIUM |
- noSuchMethod(String name, List args) { |
+ noSuchMethod(InvocationMirror invocation) { |
if (dynamicUnknownElementDispatcher == null) { |
- throw new NoSuchMethodError(this, name, args); |
+ throw new NoSuchMethodError(this, invocation.memberName, |
+ invocation.positionalArguments, |
+ invocation.namedArguments); |
} else { |
- return dynamicUnknownElementDispatcher(this, name, args); |
+ String hackedName = invocation.memberName; |
+ if (invocation.isGetter) hackedName = "get:$hackedName"; |
+ if (invocation.isSetter) hackedName = "set:$hackedName"; |
+ return dynamicUnknownElementDispatcher(this, |
+ hackedName, |
+ invociation.positionalArguments); |
} |
} |
$else |