Index: lib/compiler/implementation/scanner/listener.dart |
diff --git a/lib/compiler/implementation/scanner/listener.dart b/lib/compiler/implementation/scanner/listener.dart |
index 7d18d4d8ed3ea36f354eb1bb7fb119a0ae8c23ac..0963033e335cdf0e755da3b1e5acce2ec2aa95fe 100644 |
--- a/lib/compiler/implementation/scanner/listener.dart |
+++ b/lib/compiler/implementation/scanner/listener.dart |
@@ -1514,6 +1514,17 @@ class PartialFunctionElement extends FunctionElement { |
if (patch !== null) return patch.position(); |
return findMyName(beginToken); |
} |
+ |
+ PartialFunctionElement cloneTo(Element enclosing, |
+ DiagnosticListener listener) { |
+ if (patch !== null) { |
+ listener.cancel("Cloning a patched function.", element: this); |
+ } |
+ PartialFunctionElement result = new PartialFunctionElement( |
+ name, beginToken, getOrSet, endToken, kind, modifiers, enclosing); |
+ result.scriptOverride = getScript(); |
+ return result; |
+ } |
} |
class PartialFieldListElement extends VariableListElement { |
@@ -1543,6 +1554,14 @@ class PartialFieldListElement extends VariableListElement { |
} |
Token position() => beginToken; // findMyName doesn't work. I'm nameless. |
+ |
+ PartialFieldListElement cloneTo(Element enclosing, |
+ DiagnosticListener listener) { |
+ PartialFieldListElement result = new PartialFieldListElement( |
+ beginToken, endToken, modifiers, enclosing); |
+ result.scriptOverride = getScript(); |
+ return result; |
+ } |
} |
class PartialTypedefElement extends TypedefElement { |
@@ -1560,6 +1579,14 @@ class PartialTypedefElement extends TypedefElement { |
} |
position() => findMyName(token); |
+ |
+ PartialTypedefElement cloneTo(Element enclosing, |
+ DiagnosticListener listener) { |
+ PartialTypedefElement result = |
+ new PartialTypedefElement(name, enclosing, token); |
+ result.scriptOverride = getScript(); |
+ return result; |
+ } |
} |
Node parse(DiagnosticListener diagnosticListener, |