| 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.test.generated.incremental_resolver_test; | 5 library analyzer.test.generated.incremental_resolver_test; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
| 8 import 'package:analyzer/dart/element/element.dart'; | 8 import 'package:analyzer/dart/element/element.dart'; |
| 9 import 'package:analyzer/src/context/cache.dart'; | 9 import 'package:analyzer/src/context/cache.dart'; |
| 10 import 'package:analyzer/src/dart/ast/utilities.dart'; | 10 import 'package:analyzer/src/dart/ast/utilities.dart'; |
| (...skipping 3453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3464 AstNode oldNode = _findNodeAt(unit, offset, predicate); | 3464 AstNode oldNode = _findNodeAt(unit, offset, predicate); |
| 3465 AstNode newNode = _findNodeAt(newUnit, offset, predicate); | 3465 AstNode newNode = _findNodeAt(newUnit, offset, predicate); |
| 3466 { | 3466 { |
| 3467 bool success = NodeReplacer.replace(oldNode, newNode); | 3467 bool success = NodeReplacer.replace(oldNode, newNode); |
| 3468 expect(success, isTrue); | 3468 expect(success, isTrue); |
| 3469 } | 3469 } |
| 3470 // update tokens | 3470 // update tokens |
| 3471 { | 3471 { |
| 3472 int delta = edit.replacement.length - edit.length; | 3472 int delta = edit.replacement.length - edit.length; |
| 3473 _shiftTokens(unit.beginToken, offset, delta); | 3473 _shiftTokens(unit.beginToken, offset, delta); |
| 3474 Token oldBeginToken = oldNode.beginToken; |
| 3475 Token oldEndTokenNext = oldNode.endToken.next; |
| 3476 oldBeginToken.previous.setNext(newNode.beginToken); |
| 3477 newNode.endToken.setNext(oldEndTokenNext); |
| 3474 } | 3478 } |
| 3475 // do incremental resolution | 3479 // do incremental resolution |
| 3476 int updateOffset = edit.offset; | 3480 int updateOffset = edit.offset; |
| 3477 int updateEndOld = updateOffset + edit.length; | 3481 int updateEndOld = updateOffset + edit.length; |
| 3478 int updateOldNew = updateOffset + edit.replacement.length; | 3482 int updateOldNew = updateOffset + edit.replacement.length; |
| 3479 IncrementalResolver resolver; | 3483 IncrementalResolver resolver; |
| 3480 LibrarySpecificUnit lsu = new LibrarySpecificUnit(source, source); | 3484 LibrarySpecificUnit lsu = new LibrarySpecificUnit(source, source); |
| 3481 resolver = new IncrementalResolver(cache, cache.get(source), cache.get(lsu), | 3485 resolver = new IncrementalResolver(cache, cache.get(source), cache.get(lsu), |
| 3482 unit.element, updateOffset, updateEndOld, updateOldNew); | 3486 unit.element, updateOffset, updateEndOld, updateOldNew); |
| 3483 bool success = resolver.resolve(newNode); | 3487 bool success = resolver.resolve(newNode); |
| (...skipping 1691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5175 @override | 5179 @override |
| 5176 void logException(Object exception, [Object stackTrace]) { | 5180 void logException(Object exception, [Object stackTrace]) { |
| 5177 hasError = true; | 5181 hasError = true; |
| 5178 } | 5182 } |
| 5179 | 5183 |
| 5180 @override | 5184 @override |
| 5181 logging.LoggingTimer startTimer() { | 5185 logging.LoggingTimer startTimer() { |
| 5182 return new logging.LoggingTimer(this); | 5186 return new logging.LoggingTimer(this); |
| 5183 } | 5187 } |
| 5184 } | 5188 } |
| OLD | NEW |