| 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.src.context.context_test; | 5 library analyzer.test.src.context.context_test; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import 'package:analyzer/dart/ast/ast.dart'; | 10 import 'package:analyzer/dart/ast/ast.dart'; |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 } | 294 } |
| 295 // Adding the source as a changedSource should have no effect since | 295 // Adding the source as a changedSource should have no effect since |
| 296 // it is already overridden in the content cache. | 296 // it is already overridden in the content cache. |
| 297 ChangeSet changeSet = new ChangeSet(); | 297 ChangeSet changeSet = new ChangeSet(); |
| 298 changeSet.changedSource(source); | 298 changeSet.changedSource(source); |
| 299 ApplyChangesStatus changesStatus = context.applyChanges(changeSet); | 299 ApplyChangesStatus changesStatus = context.applyChanges(changeSet); |
| 300 expect(changesStatus.hasChanges, isFalse); | 300 expect(changesStatus.hasChanges, isFalse); |
| 301 expect(context.sourcesNeedingProcessing, hasLength(0)); | 301 expect(context.sourcesNeedingProcessing, hasLength(0)); |
| 302 } | 302 } |
| 303 | 303 |
| 304 void test_applyChanges_recompute_exportNamespace() { |
| 305 Source libSource = addSource( |
| 306 "/lib.dart", |
| 307 r''' |
| 308 class A {} |
| 309 '''); |
| 310 Source exporterSource = addSource( |
| 311 "/exporter.dart", |
| 312 r''' |
| 313 export 'lib.dart'; |
| 314 '''); |
| 315 _performPendingAnalysisTasks(); |
| 316 // initially: A |
| 317 { |
| 318 LibraryElement libraryElement = |
| 319 context.getResult(exporterSource, LIBRARY_ELEMENT1) as LibraryElement; |
| 320 expect(libraryElement.exportNamespace.definedNames.keys, |
| 321 unorderedEquals(['A'])); |
| 322 } |
| 323 // after update: B |
| 324 context.setContents( |
| 325 libSource, |
| 326 r''' |
| 327 class B {}'''); |
| 328 _performPendingAnalysisTasks(); |
| 329 { |
| 330 LibraryElement libraryElement = |
| 331 context.getResult(exporterSource, LIBRARY_ELEMENT1) as LibraryElement; |
| 332 expect(libraryElement.exportNamespace.definedNames.keys, |
| 333 unorderedEquals(['B'])); |
| 334 } |
| 335 } |
| 336 |
| 304 Future test_applyChanges_remove() { | 337 Future test_applyChanges_remove() { |
| 305 SourcesChangedListener listener = new SourcesChangedListener(); | 338 SourcesChangedListener listener = new SourcesChangedListener(); |
| 306 context.onSourcesChanged.listen(listener.onData); | 339 context.onSourcesChanged.listen(listener.onData); |
| 307 String libAContents = r''' | 340 String libAContents = r''' |
| 308 library libA; | 341 library libA; |
| 309 import 'libB.dart';'''; | 342 import 'libB.dart';'''; |
| 310 Source libA = addSource("/libA.dart", libAContents); | 343 Source libA = addSource("/libA.dart", libAContents); |
| 311 String libBContents = "library libB;"; | 344 String libBContents = "library libB;"; |
| 312 Source libB = addSource("/libB.dart", libBContents); | 345 Source libB = addSource("/libB.dart", libBContents); |
| 313 LibraryElement libAElement = context.computeLibraryElement(libA); | 346 LibraryElement libAElement = context.computeLibraryElement(libA); |
| (...skipping 2880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3194 * Initialize the visitor. | 3227 * Initialize the visitor. |
| 3195 */ | 3228 */ |
| 3196 _ElementGatherer(); | 3229 _ElementGatherer(); |
| 3197 | 3230 |
| 3198 @override | 3231 @override |
| 3199 void visitElement(Element element) { | 3232 void visitElement(Element element) { |
| 3200 elements[element] = element; | 3233 elements[element] = element; |
| 3201 super.visitElement(element); | 3234 super.visitElement(element); |
| 3202 } | 3235 } |
| 3203 } | 3236 } |
| OLD | NEW |