Index: lib/compiler/implementation/scanner/class_element_parser.dart |
diff --git a/lib/compiler/implementation/scanner/class_element_parser.dart b/lib/compiler/implementation/scanner/class_element_parser.dart |
index 74e0a76f0d0452625543354b2e9a36a866c8f551..46012f3044f79cff64dc47f8be313d4d7ea47c38 100644 |
--- a/lib/compiler/implementation/scanner/class_element_parser.dart |
+++ b/lib/compiler/implementation/scanner/class_element_parser.dart |
@@ -18,7 +18,7 @@ class PartialClassElement extends ClassElement { |
Token this.endToken, |
CompilationUnitElement enclosing, |
int id) |
- : super(name, enclosing, id); |
+ : super(name, enclosing, id); |
ClassNode parseNode(DiagnosticListener diagnosticListener) { |
if (cachedNode != null) return cachedNode; |
@@ -34,6 +34,17 @@ class PartialClassElement extends ClassElement { |
Token position() => beginToken; |
bool isInterface() => beginToken.stringValue === "interface"; |
+ |
+ PartialClassElement cloneTo(CompilationUnitElement enclosing, |
+ DiagnosticListener listener) { |
+ parseNode(listener); |
+ PartialClassElement result = |
+ new PartialClassElement(name, beginToken, endToken, enclosing, id); |
+ cloneMembersTo(result, listener); |
+ result.cachedNode = cachedNode; |
+ result.scriptOverride = getScript(); |
+ return result; |
+ } |
} |
class MemberListener extends NodeListener { |
@@ -41,8 +52,8 @@ class MemberListener extends NodeListener { |
MemberListener(DiagnosticListener listener, |
Element enclosingElement) |
- : this.enclosingElement = enclosingElement, |
- super(listener, enclosingElement.getCompilationUnit()); |
+ : this.enclosingElement = enclosingElement, |
+ super(listener, enclosingElement.getCompilationUnit()); |
bool isConstructorName(Node nameNode) { |
if (enclosingElement === null || |