| 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 class Unparser implements Visitor { | 8 class Unparser implements Visitor { |
| 9 Renamer rename; | 9 Renamer rename; |
| 10 StringBuffer sb; | 10 StringBuffer sb; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 visit(node.expression); | 53 visit(node.expression); |
| 54 } | 54 } |
| 55 | 55 |
| 56 visitCascadeReceiver(CascadeReceiver node) { | 56 visitCascadeReceiver(CascadeReceiver node) { |
| 57 visit(node.expression); | 57 visit(node.expression); |
| 58 } | 58 } |
| 59 | 59 |
| 60 visitClassNode(ClassNode node) { | 60 visitClassNode(ClassNode node) { |
| 61 addToken(node.beginToken); | 61 addToken(node.beginToken); |
| 62 visit(node.name); | 62 visit(node.name); |
| 63 if (node.typeParameters !== null) { |
| 64 visit(node.typeParameters); |
| 65 } |
| 63 sb.add(' '); | 66 sb.add(' '); |
| 64 if (node.extendsKeyword !== null) { | 67 if (node.extendsKeyword !== null) { |
| 65 addToken(node.extendsKeyword); | 68 addToken(node.extendsKeyword); |
| 66 visit(node.superclass); | 69 visit(node.superclass); |
| 67 sb.add(' '); | 70 sb.add(' '); |
| 68 } | 71 } |
| 69 visit(node.interfaces); | 72 visit(node.interfaces); |
| 70 if (node.defaultClause !== null) { | 73 if (node.defaultClause !== null) { |
| 71 visit(node.defaultClause); | 74 visit(node.defaultClause); |
| 72 sb.add(' '); | 75 sb.add(' '); |
| 73 } | 76 } |
| 74 sb.add('{\n'); | 77 sb.add('{\n'); |
| 78 NodeList body = node.body; |
| 79 if (body !== null) { |
| 80 Link nodes = body.nodes; |
| 81 if (!nodes.isEmpty()) { |
| 82 sb.add(' '); |
| 83 nodes.printOn(sb, '\n '); |
| 84 sb.add('\n'); |
| 85 } |
| 86 } |
| 75 sb.add('}\n'); | 87 sb.add('}\n'); |
| 76 } | 88 } |
| 77 | 89 |
| 78 visitConditional(Conditional node) { | 90 visitConditional(Conditional node) { |
| 79 visit(node.condition); | 91 visit(node.condition); |
| 80 add(node.questionToken.value); | 92 add(node.questionToken.value); |
| 81 visit(node.thenExpression); | 93 visit(node.thenExpression); |
| 82 add(node.colonToken.value); | 94 add(node.colonToken.value); |
| 83 visit(node.elseExpression); | 95 visit(node.elseExpression); |
| 84 } | 96 } |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 sb.add(' '); | 500 sb.add(' '); |
| 489 } | 501 } |
| 490 visit(node.name); | 502 visit(node.name); |
| 491 if (node.typeParameters !== null) { | 503 if (node.typeParameters !== null) { |
| 492 visit(node.typeParameters); | 504 visit(node.typeParameters); |
| 493 } | 505 } |
| 494 visit(node.formals); | 506 visit(node.formals); |
| 495 add(node.endToken.value); | 507 add(node.endToken.value); |
| 496 } | 508 } |
| 497 } | 509 } |
| OLD | NEW |