Chromium Code Reviews| 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 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 272 } else if (node.selector.asOperator() === null) { | 272 } else if (node.selector.asOperator() === null) { |
| 273 sb.add('.'); | 273 sb.add('.'); |
| 274 } else if (spacesNeeded) { | 274 } else if (spacesNeeded) { |
| 275 sb.add(' '); | 275 sb.add(' '); |
| 276 } | 276 } |
| 277 } | 277 } |
| 278 } | 278 } |
| 279 | 279 |
| 280 visitSend(Send node) { | 280 visitSend(Send node) { |
| 281 Operator op = node.selector.asOperator(); | 281 Operator op = node.selector.asOperator(); |
| 282 bool spacesNeeded = op !== null && | 282 String opString = op !== null ? op.source.stringValue : null; |
| 283 (op.source.stringValue === 'is' || op.source.stringValue == 'as'); | 283 bool spacesNeeded = opString === 'is' || opString === 'as'; |
| 284 | 284 |
| 285 if (node.isPrefix) visit(node.selector); | 285 if (node.isPrefix) visit(node.selector); |
| 286 unparseSendReceiver(node, spacesNeeded: spacesNeeded); | 286 unparseSendReceiver(node, spacesNeeded: spacesNeeded); |
| 287 if (!node.isPrefix && !node.isIndex) visit(node.selector); | 287 if (!node.isPrefix && !node.isIndex) visit(node.selector); |
| 288 if (spacesNeeded) sb.add(' '); | 288 if (spacesNeeded) sb.add(' '); |
| 289 // Also add a space for sequences like x + +1 and y - -y. | |
| 290 if (opString === '-' || opString === '+') { | |
| 291 Token beginToken = node.argumentsNode.getBeginToken(); | |
| 292 if (beginToken !== null && beginToken.stringValue === opString) sb.add(' ' ); | |
|
Roman
2012/10/02 13:22:24
80 chars
| |
| 293 } | |
| 289 visit(node.argumentsNode); | 294 visit(node.argumentsNode); |
| 290 } | 295 } |
| 291 | 296 |
| 292 visitSendSet(SendSet node) { | 297 visitSendSet(SendSet node) { |
| 293 if (node.isPrefix) { | 298 if (node.isPrefix) { |
| 294 sb.add(' '); | 299 sb.add(' '); |
| 295 visit(node.assignmentOperator); | 300 visit(node.assignmentOperator); |
| 296 } | 301 } |
| 297 unparseSendReceiver(node); | 302 unparseSendReceiver(node); |
| 298 if (node.isIndex) { | 303 if (node.isIndex) { |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 551 add(node.getEndToken().value); | 556 add(node.getEndToken().value); |
| 552 } | 557 } |
| 553 | 558 |
| 554 visitPartOf(PartOf node) { | 559 visitPartOf(PartOf node) { |
| 555 addToken(node.partKeyword); | 560 addToken(node.partKeyword); |
| 556 addToken(node.ofKeyword); | 561 addToken(node.ofKeyword); |
| 557 visit(node.name); | 562 visit(node.name); |
| 558 add(node.getEndToken().value); | 563 add(node.getEndToken().value); |
| 559 } | 564 } |
| 560 } | 565 } |
| OLD | NEW |