| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Returns null if no need to rename a node. | 5 // Returns null if no need to rename a node. |
| 6 typedef String Renamer(Node node); | 6 typedef String Renamer(Node node); |
| 7 | 7 |
| 8 String unparse(Node node) { | 8 String unparse(Node node) { |
| 9 Unparser unparser = new Unparser(); | 9 Unparser unparser = new Unparser(); |
| 10 unparser.unparse(node); | 10 unparser.unparse(node); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 } | 59 } |
| 60 | 60 |
| 61 visitCascade(Cascade node) { | 61 visitCascade(Cascade node) { |
| 62 visit(node.expression); | 62 visit(node.expression); |
| 63 } | 63 } |
| 64 | 64 |
| 65 visitCascadeReceiver(CascadeReceiver node) { | 65 visitCascadeReceiver(CascadeReceiver node) { |
| 66 visit(node.expression); | 66 visit(node.expression); |
| 67 } | 67 } |
| 68 | 68 |
| 69 visitClassNode(ClassNode node) { | 69 unparseClassWithBody(ClassNode node, void classBodyEmitter()) { |
| 70 addToken(node.beginToken); | 70 addToken(node.beginToken); |
| 71 if (node.beginToken.stringValue == 'abstract') { |
| 72 addToken(node.beginToken.next); |
| 73 } |
| 71 visit(node.name); | 74 visit(node.name); |
| 72 if (node.typeParameters !== null) { | 75 if (node.typeParameters !== null) { |
| 73 visit(node.typeParameters); | 76 visit(node.typeParameters); |
| 74 } | 77 } |
| 75 sb.add(' '); | |
| 76 if (node.extendsKeyword !== null) { | 78 if (node.extendsKeyword !== null) { |
| 79 sb.add(' '); |
| 77 addToken(node.extendsKeyword); | 80 addToken(node.extendsKeyword); |
| 78 visit(node.superclass); | 81 visit(node.superclass); |
| 82 } |
| 83 if (!node.interfaces.isEmpty()) { |
| 79 sb.add(' '); | 84 sb.add(' '); |
| 85 visit(node.interfaces); |
| 80 } | 86 } |
| 81 visit(node.interfaces); | |
| 82 if (node.defaultClause !== null) { | 87 if (node.defaultClause !== null) { |
| 88 sb.add(' default '); |
| 83 visit(node.defaultClause); | 89 visit(node.defaultClause); |
| 84 sb.add(' '); | |
| 85 } | 90 } |
| 86 sb.add('{\n'); | 91 sb.add('{'); |
| 87 NodeList body = node.body; | 92 classBodyEmitter(); |
| 88 if (body !== null) { | 93 sb.add('}'); |
| 89 Link nodes = body.nodes; | 94 } |
| 90 if (!nodes.isEmpty()) { | 95 |
| 91 sb.add(' '); | 96 visitClassNode(ClassNode node) { |
| 92 nodes.printOn(sb, '\n '); | 97 unparseClassWithBody(node, () { |
| 98 NodeList body = node.body; |
| 99 if (body !== null) { |
| 93 sb.add('\n'); | 100 sb.add('\n'); |
| 101 Link nodes = body.nodes; |
| 102 if (!nodes.isEmpty()) { |
| 103 sb.add(' '); |
| 104 nodes.printOn(sb, '\n '); |
| 105 sb.add('\n'); |
| 106 } |
| 94 } | 107 } |
| 95 } | 108 }); |
| 96 sb.add('}\n'); | 109 sb.add('\n'); |
| 97 } | 110 } |
| 98 | 111 |
| 99 visitConditional(Conditional node) { | 112 visitConditional(Conditional node) { |
| 100 visit(node.condition); | 113 visit(node.condition); |
| 101 add(node.questionToken.value); | 114 add(node.questionToken.value); |
| 102 visit(node.thenExpression); | 115 visit(node.thenExpression); |
| 103 add(node.colonToken.value); | 116 add(node.colonToken.value); |
| 104 visit(node.elseExpression); | 117 visit(node.elseExpression); |
| 105 } | 118 } |
| 106 | 119 |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 sb.add(' '); | 517 sb.add(' '); |
| 505 } | 518 } |
| 506 visit(node.name); | 519 visit(node.name); |
| 507 if (node.typeParameters !== null) { | 520 if (node.typeParameters !== null) { |
| 508 visit(node.typeParameters); | 521 visit(node.typeParameters); |
| 509 } | 522 } |
| 510 visit(node.formals); | 523 visit(node.formals); |
| 511 add(node.endToken.value); | 524 add(node.endToken.value); |
| 512 } | 525 } |
| 513 } | 526 } |
| OLD | NEW |