| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 library analyzer.src.dart.ast.utilities; | 5 library analyzer.src.dart.ast.utilities; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 import 'package:analyzer/dart/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
| 10 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; | 10 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; |
| (...skipping 2321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2332 if (leftOperand is num && rightOperand is num) { | 2332 if (leftOperand is num && rightOperand is num) { |
| 2333 return leftOperand - rightOperand; | 2333 return leftOperand - rightOperand; |
| 2334 } | 2334 } |
| 2335 } else if (node.operator.type == TokenType.PERCENT) { | 2335 } else if (node.operator.type == TokenType.PERCENT) { |
| 2336 // numeric or {@code null} | 2336 // numeric or {@code null} |
| 2337 if (leftOperand is num && rightOperand is num) { | 2337 if (leftOperand is num && rightOperand is num) { |
| 2338 return leftOperand.remainder(rightOperand); | 2338 return leftOperand.remainder(rightOperand); |
| 2339 } | 2339 } |
| 2340 } else if (node.operator.type == TokenType.PLUS) { | 2340 } else if (node.operator.type == TokenType.PLUS) { |
| 2341 // numeric or {@code null} | 2341 // numeric or {@code null} |
| 2342 if ((leftOperand is num && rightOperand is num) || | 2342 if (leftOperand is num && rightOperand is num) { |
| 2343 (leftOperand is String && rightOperand is String)) { | 2343 return leftOperand + rightOperand; |
| 2344 } |
| 2345 if (leftOperand is String && rightOperand is String) { |
| 2344 return leftOperand + rightOperand; | 2346 return leftOperand + rightOperand; |
| 2345 } | 2347 } |
| 2346 } else if (node.operator.type == TokenType.STAR) { | 2348 } else if (node.operator.type == TokenType.STAR) { |
| 2347 // numeric or {@code null} | 2349 // numeric or {@code null} |
| 2348 if (leftOperand is num && rightOperand is num) { | 2350 if (leftOperand is num && rightOperand is num) { |
| 2349 return leftOperand * rightOperand; | 2351 return leftOperand * rightOperand; |
| 2350 } | 2352 } |
| 2351 } else if (node.operator.type == TokenType.SLASH) { | 2353 } else if (node.operator.type == TokenType.SLASH) { |
| 2352 // numeric or {@code null} | 2354 // numeric or {@code null} |
| 2353 if (leftOperand is num && rightOperand is num) { | 2355 if (leftOperand is num && rightOperand is num) { |
| (...skipping 6834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9188 if (node.star != null) { | 9190 if (node.star != null) { |
| 9189 sink.write("yield* "); | 9191 sink.write("yield* "); |
| 9190 } else { | 9192 } else { |
| 9191 sink.write("yield "); | 9193 sink.write("yield "); |
| 9192 } | 9194 } |
| 9193 safelyVisitNode(node.expression); | 9195 safelyVisitNode(node.expression); |
| 9194 sink.write(";"); | 9196 sink.write(";"); |
| 9195 return null; | 9197 return null; |
| 9196 } | 9198 } |
| 9197 } | 9199 } |
| OLD | NEW |