| 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 02f6eaab530429b9ea26a40f8ea34c8083672ed1..4b9045c4b0b4632c73ade4086debb531ee423ac6 100644
|
| --- a/lib/compiler/implementation/scanner/class_element_parser.dart
|
| +++ b/lib/compiler/implementation/scanner/class_element_parser.dart
|
| @@ -22,12 +22,20 @@ class PartialClassElement extends ClassElement {
|
|
|
| ClassNode parseNode(DiagnosticListener diagnosticListener) {
|
| if (cachedNode != null) return cachedNode;
|
| + // TODO(ahe): Measure these tasks.
|
| MemberListener listener = new MemberListener(diagnosticListener, this);
|
| Parser parser = new ClassElementParser(listener);
|
| Token token = parser.parseTopLevelDeclaration(beginToken);
|
| assert(token === endToken.next);
|
| cachedNode = listener.popNode();
|
| assert(listener.nodes.isEmpty());
|
| + if (isPatched) {
|
| + // TODO(lrn): Perhaps extract functionality so it doesn't need compiler.
|
| + Compiler compiler = diagnosticListener;
|
| + ClassNode patchNode = compiler.patchParser.parsePatchClassNode(patch);
|
| + Link<Element> patches = patch.localMembers;
|
| + compiler.applyContainerPatch(this, patches);
|
| + }
|
| return cachedNode;
|
| }
|
|
|
|
|