| 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 class Unparser implements Visitor { | 5 class Unparser implements Visitor { |
| 6 final Renamer renamer; | 6 final Renamer renamer; |
| 7 StringBuffer sb; | 7 StringBuffer sb; |
| 8 | 8 |
| 9 Unparser([this.renamer = const Renamer()]); | 9 Unparser([this.renamer = const Renamer()]); |
| 10 | 10 |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 225 | 225 |
| 226 unparseSendPart(Send node) { | 226 unparseSendPart(Send node) { |
| 227 Operator op = node.selector.asOperator(); | 227 Operator op = node.selector.asOperator(); |
| 228 bool isCheck = op !== null && op.source.stringValue === 'is'; | 228 bool isCheck = op !== null && op.source.stringValue === 'is'; |
| 229 | 229 |
| 230 if (node.isPrefix) { | 230 if (node.isPrefix) { |
| 231 visit(node.selector); | 231 visit(node.selector); |
| 232 } | 232 } |
| 233 if (node.receiver !== null) { | 233 if (node.receiver !== null) { |
| 234 visit(node.receiver); | 234 visit(node.receiver); |
| 235 if (op === null) { | 235 CascadeReceiver asCascadeReceiver = node.receiver.asCascadeReceiver(); |
| 236 CascadeReceiver asCascadeReceiver = node.receiver.asCascadeReceiver(); | 236 if (asCascadeReceiver !== null) { |
| 237 if (asCascadeReceiver !== null) { | 237 add(asCascadeReceiver.cascadeOperator.value); |
| 238 add(asCascadeReceiver.cascadeOperator.value); | 238 } else if (op === null) { |
| 239 } else { | 239 sb.add('.'); |
| 240 sb.add('.'); | |
| 241 } | |
| 242 } else if (isCheck) { | 240 } else if (isCheck) { |
| 243 sb.add(' '); | 241 sb.add(' '); |
| 244 } | 242 } |
| 245 } | 243 } |
| 246 if (!node.isPrefix && !node.isIndex) { | 244 if (!node.isPrefix && !node.isIndex) { |
| 247 visit(node.selector); | 245 visit(node.selector); |
| 248 } | 246 } |
| 249 if (isCheck) { | 247 if (isCheck) { |
| 250 sb.add(' '); | 248 sb.add(' '); |
| 251 } | 249 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 268 } | 266 } |
| 269 | 267 |
| 270 /** | 268 /** |
| 271 * Special case for assignments like "list[0] = 1". | 269 * Special case for assignments like "list[0] = 1". |
| 272 */ | 270 */ |
| 273 unparseIndexedSet(SendSet node) { | 271 unparseIndexedSet(SendSet node) { |
| 274 if (node.isPrefix) { | 272 if (node.isPrefix) { |
| 275 add(node.assignmentOperator.token.value); | 273 add(node.assignmentOperator.token.value); |
| 276 } | 274 } |
| 277 visit(node.receiver); | 275 visit(node.receiver); |
| 276 CascadeReceiver asCascadeReceiver = node.receiver.asCascadeReceiver(); |
| 277 if (asCascadeReceiver !== null) { |
| 278 add(asCascadeReceiver.cascadeOperator.value); |
| 279 } |
| 278 sb.add('['); | 280 sb.add('['); |
| 279 sb.add(node.arguments.head); | 281 sb.add(node.arguments.head); |
| 280 sb.add(']'); | 282 sb.add(']'); |
| 281 if (!node.isPrefix) { | 283 if (!node.isPrefix) { |
| 282 add(node.assignmentOperator.token.value); | 284 add(node.assignmentOperator.token.value); |
| 283 } | 285 } |
| 284 unparseNodeListFrom(node.argumentsNode, node.argumentsNode.nodes.tail); | 286 unparseNodeListFrom(node.argumentsNode, node.argumentsNode.nodes.tail); |
| 285 } | 287 } |
| 286 | 288 |
| 287 visitSendSet(SendSet node) { | 289 visitSendSet(SendSet node) { |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 510 sb.add(' '); | 512 sb.add(' '); |
| 511 } | 513 } |
| 512 visit(node.name); | 514 visit(node.name); |
| 513 if (node.typeParameters !== null) { | 515 if (node.typeParameters !== null) { |
| 514 visit(node.typeParameters); | 516 visit(node.typeParameters); |
| 515 } | 517 } |
| 516 visit(node.formals); | 518 visit(node.formals); |
| 517 add(node.endToken.value); | 519 add(node.endToken.value); |
| 518 } | 520 } |
| 519 } | 521 } |
| OLD | NEW |