| Index: pkg/analyzer/test/src/context/context_test.dart
|
| diff --git a/pkg/analyzer/test/src/context/context_test.dart b/pkg/analyzer/test/src/context/context_test.dart
|
| index 932c245154d36c930524d32227acec6bf61de2c5..70d829a269d8844cbec16c24ac734e9136cc34b2 100644
|
| --- a/pkg/analyzer/test/src/context/context_test.dart
|
| +++ b/pkg/analyzer/test/src/context/context_test.dart
|
| @@ -31,115 +31,28 @@ import 'package:analyzer/src/generated/engine.dart'
|
| import 'package:analyzer/src/generated/error.dart';
|
| import 'package:analyzer/src/generated/html.dart' as ht;
|
| import 'package:analyzer/src/generated/java_engine.dart';
|
| -import 'package:analyzer/src/generated/java_engine_io.dart';
|
| import 'package:analyzer/src/generated/resolver.dart';
|
| import 'package:analyzer/src/generated/scanner.dart';
|
| -import 'package:analyzer/src/generated/sdk.dart';
|
| -import 'package:analyzer/src/generated/sdk_io.dart';
|
| import 'package:analyzer/src/generated/source.dart';
|
| -import 'package:analyzer/src/generated/source_io.dart';
|
| -import 'package:analyzer/src/plugin/engine_plugin.dart';
|
| import 'package:analyzer/task/dart.dart';
|
| -import 'package:plugin/manager.dart';
|
| import 'package:unittest/unittest.dart';
|
| import 'package:watcher/src/utils.dart';
|
|
|
| import '../../generated/engine_test.dart';
|
| import '../../generated/test_support.dart';
|
| import '../../reflective_tests.dart';
|
| -import '../mock_sdk.dart';
|
| +import 'abstract_context.dart';
|
|
|
| main() {
|
| groupSep = ' | ';
|
| runReflectiveTests(AnalysisContextImplTest);
|
| }
|
|
|
| -contextWithCore() {
|
| - return new AnalysisContextForTests();
|
| -}
|
| -
|
| -/**
|
| - * An analysis context that has a fake SDK that is much smaller and faster for
|
| - * testing purposes.
|
| - */
|
| -class AnalysisContextForTests extends AnalysisContextImpl {
|
| - AnalysisContextForTests() {
|
| - DartSdk sdk = new MockSdk();
|
| - SourceFactory sourceFactory =
|
| - new SourceFactory([new DartUriResolver(sdk), new FileUriResolver()]);
|
| - this.sourceFactory = sourceFactory;
|
| - }
|
| -
|
| - @override
|
| - void set analysisOptions(AnalysisOptions options) {
|
| - AnalysisOptions currentOptions = analysisOptions;
|
| - bool needsRecompute = currentOptions.analyzeFunctionBodiesPredicate !=
|
| - options.analyzeFunctionBodiesPredicate ||
|
| - currentOptions.generateImplicitErrors !=
|
| - options.generateImplicitErrors ||
|
| - currentOptions.generateSdkErrors != options.generateSdkErrors ||
|
| - currentOptions.dart2jsHint != options.dart2jsHint ||
|
| - (currentOptions.hint && !options.hint) ||
|
| - currentOptions.preserveComments != options.preserveComments ||
|
| - currentOptions.enableNullAwareOperators !=
|
| - options.enableNullAwareOperators ||
|
| - currentOptions.enableStrictCallChecks != options.enableStrictCallChecks;
|
| - if (needsRecompute) {
|
| - fail(
|
| - "Cannot set options that cause the sources to be reanalyzed in a test context");
|
| - }
|
| - super.analysisOptions = options;
|
| - }
|
| -
|
| - @override
|
| - LibraryResolverFactory get libraryResolverFactory => null;
|
| -
|
| - @override
|
| - bool exists(Source source) =>
|
| - super.exists(source) || sourceFactory.dartSdk.context.exists(source);
|
| -
|
| - @override
|
| - TimestampedData<String> getContents(Source source) {
|
| - if (source.isInSystemLibrary) {
|
| - return sourceFactory.dartSdk.context.getContents(source);
|
| - }
|
| - return super.getContents(source);
|
| - }
|
| -
|
| - @override
|
| - int getModificationStamp(Source source) {
|
| - if (source.isInSystemLibrary) {
|
| - return sourceFactory.dartSdk.context.getModificationStamp(source);
|
| - }
|
| - return super.getModificationStamp(source);
|
| - }
|
| -
|
| -// /**
|
| -// * Set the analysis options, even if they would force re-analysis. This method should only be
|
| -// * invoked before the fake SDK is initialized.
|
| -// *
|
| -// * @param options the analysis options to be set
|
| -// */
|
| -// void _internalSetAnalysisOptions(AnalysisOptions options) {
|
| -// super.analysisOptions = options;
|
| -// }
|
| -}
|
| -
|
| @reflectiveTest
|
| -class AnalysisContextImplTest extends EngineTestCase {
|
| - /**
|
| - * An analysis context whose source factory is [sourceFactory].
|
| - */
|
| - AnalysisContextImpl _context;
|
| -
|
| - /**
|
| - * The source factory associated with the analysis [context].
|
| - */
|
| - SourceFactory _sourceFactory;
|
| -
|
| +class AnalysisContextImplTest extends AbstractContextTest {
|
| void fail_applyChanges_empty() {
|
| - _context.applyChanges(new ChangeSet());
|
| - expect(_context.performAnalysisTask().changeNotices, isNull);
|
| + context.applyChanges(new ChangeSet());
|
| + expect(context.performAnalysisTask().changeNotices, isNull);
|
| // This test appears to be flaky. If it is named "test_" it fails, if it's
|
| // named "fail_" it doesn't fail. I'm guessing that it's dependent on
|
| // whether some other test is run.
|
| @@ -148,43 +61,41 @@ class AnalysisContextImplTest extends EngineTestCase {
|
|
|
| void fail_applyChanges_overriddenSource() {
|
| // Note: addSource adds the source to the contentCache.
|
| - Source source = _addSource("/test.dart", "library test;");
|
| - _context.computeErrors(source);
|
| - while (!_context.sourcesNeedingProcessing.isEmpty) {
|
| - _context.performAnalysisTask();
|
| + Source source = addSource("/test.dart", "library test;");
|
| + context.computeErrors(source);
|
| + while (!context.sourcesNeedingProcessing.isEmpty) {
|
| + context.performAnalysisTask();
|
| }
|
| // Adding the source as a changedSource should have no effect since
|
| // it is already overridden in the content cache.
|
| ChangeSet changeSet = new ChangeSet();
|
| changeSet.changedSource(source);
|
| - _context.applyChanges(changeSet);
|
| - expect(_context.sourcesNeedingProcessing, hasLength(0));
|
| + context.applyChanges(changeSet);
|
| + expect(context.sourcesNeedingProcessing, hasLength(0));
|
| }
|
|
|
| Future fail_applyChanges_remove() {
|
| - _context = contextWithCore();
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - _sourceFactory = _context.sourceFactory;
|
| + context.onSourcesChanged.listen(listener.onData);
|
| String libAContents = r'''
|
| library libA;
|
| import 'libB.dart';''';
|
| - Source libA = _addSource("/libA.dart", libAContents);
|
| + Source libA = addSource("/libA.dart", libAContents);
|
| String libBContents = "library libB;";
|
| - Source libB = _addSource("/libB.dart", libBContents);
|
| - LibraryElement libAElement = _context.computeLibraryElement(libA);
|
| + Source libB = addSource("/libB.dart", libBContents);
|
| + LibraryElement libAElement = context.computeLibraryElement(libA);
|
| expect(libAElement, isNotNull);
|
| List<LibraryElement> importedLibraries = libAElement.importedLibraries;
|
| expect(importedLibraries, hasLength(2));
|
| - _context.computeErrors(libA);
|
| - _context.computeErrors(libB);
|
| - expect(_context.sourcesNeedingProcessing, hasLength(0));
|
| - _context.setContents(libB, null);
|
| + context.computeErrors(libA);
|
| + context.computeErrors(libB);
|
| + expect(context.sourcesNeedingProcessing, hasLength(0));
|
| + context.setContents(libB, null);
|
| _removeSource(libB);
|
| - List<Source> sources = _context.sourcesNeedingProcessing;
|
| + List<Source> sources = context.sourcesNeedingProcessing;
|
| expect(sources, hasLength(1));
|
| expect(sources[0], same(libA));
|
| - libAElement = _context.computeLibraryElement(libA);
|
| + libAElement = context.computeLibraryElement(libA);
|
| importedLibraries = libAElement.importedLibraries;
|
| expect(importedLibraries, hasLength(1));
|
| return pumpEventQueue().then((_) {
|
| @@ -199,26 +110,24 @@ import 'libB.dart';''';
|
| }
|
|
|
| Future fail_applyChanges_removeContainer() {
|
| - _context = contextWithCore();
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - _sourceFactory = _context.sourceFactory;
|
| + context.onSourcesChanged.listen(listener.onData);
|
| String libAContents = r'''
|
| library libA;
|
| import 'libB.dart';''';
|
| - Source libA = _addSource("/libA.dart", libAContents);
|
| + Source libA = addSource("/libA.dart", libAContents);
|
| String libBContents = "library libB;";
|
| - Source libB = _addSource("/libB.dart", libBContents);
|
| - _context.computeLibraryElement(libA);
|
| - _context.computeErrors(libA);
|
| - _context.computeErrors(libB);
|
| - expect(_context.sourcesNeedingProcessing, hasLength(0));
|
| + Source libB = addSource("/libB.dart", libBContents);
|
| + context.computeLibraryElement(libA);
|
| + context.computeErrors(libA);
|
| + context.computeErrors(libB);
|
| + expect(context.sourcesNeedingProcessing, hasLength(0));
|
| ChangeSet changeSet = new ChangeSet();
|
| SourceContainer removedContainer =
|
| new _AnalysisContextImplTest_test_applyChanges_removeContainer(libB);
|
| changeSet.removedContainer(removedContainer);
|
| - _context.applyChanges(changeSet);
|
| - List<Source> sources = _context.sourcesNeedingProcessing;
|
| + context.applyChanges(changeSet);
|
| + List<Source> sources = context.sourcesNeedingProcessing;
|
| expect(sources, hasLength(1));
|
| expect(sources[0], same(libA));
|
| return pumpEventQueue().then((_) {
|
| @@ -232,46 +141,46 @@ import 'libB.dart';''';
|
| }
|
|
|
| void fail_computeErrors_dart_none() {
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| - List<AnalysisError> errors = _context.computeErrors(source);
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| + List<AnalysisError> errors = context.computeErrors(source);
|
| expect(errors, hasLength(0));
|
| }
|
|
|
| void fail_computeErrors_dart_part() {
|
| Source librarySource =
|
| - _addSource("/lib.dart", "library lib; part 'part.dart';");
|
| - Source partSource = _addSource("/part.dart", "part of 'lib';");
|
| - _context.parseCompilationUnit(librarySource);
|
| - List<AnalysisError> errors = _context.computeErrors(partSource);
|
| + addSource("/lib.dart", "library lib; part 'part.dart';");
|
| + Source partSource = addSource("/part.dart", "part of 'lib';");
|
| + context.parseCompilationUnit(librarySource);
|
| + List<AnalysisError> errors = context.computeErrors(partSource);
|
| expect(errors, isNotNull);
|
| expect(errors.length > 0, isTrue);
|
| }
|
|
|
| void fail_computeErrors_dart_some() {
|
| - Source source = _addSource("/lib.dart", "library 'lib';");
|
| - List<AnalysisError> errors = _context.computeErrors(source);
|
| + Source source = addSource("/lib.dart", "library 'lib';");
|
| + List<AnalysisError> errors = context.computeErrors(source);
|
| expect(errors, isNotNull);
|
| expect(errors.length > 0, isTrue);
|
| }
|
|
|
| void fail_computeErrors_html_none() {
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - List<AnalysisError> errors = _context.computeErrors(source);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + List<AnalysisError> errors = context.computeErrors(source);
|
| expect(errors, hasLength(0));
|
| }
|
|
|
| void fail_computeHtmlElement_valid() {
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - HtmlElement element = _context.computeHtmlElement(source);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + HtmlElement element = context.computeHtmlElement(source);
|
| expect(element, isNotNull);
|
| - expect(_context.computeHtmlElement(source), same(element));
|
| + expect(context.computeHtmlElement(source), same(element));
|
| }
|
|
|
| void fail_computeImportedLibraries_none() {
|
| // This is failing because computeImportedLibraries now always includes
|
| // dart:core, and we don't have any way of knowing whether it was explicit.
|
| - Source source = _addSource("/test.dart", "library test;");
|
| - expect(_context.computeImportedLibraries(source), hasLength(0));
|
| + Source source = addSource("/test.dart", "library test;");
|
| + expect(context.computeImportedLibraries(source), hasLength(0));
|
| }
|
|
|
| void fail_computeImportedLibraries_some() {
|
| @@ -279,15 +188,15 @@ import 'libB.dart';''';
|
| // dart:core, and we don't have any way of knowing whether it was explicit.
|
| // addSource("/lib1.dart", "library lib1;");
|
| // addSource("/lib2.dart", "library lib2;");
|
| - Source source = _addSource(
|
| + Source source = addSource(
|
| "/test.dart", "library test; import 'lib1.dart'; import 'lib2.dart';");
|
| - expect(_context.computeImportedLibraries(source), hasLength(2));
|
| + expect(context.computeImportedLibraries(source), hasLength(2));
|
| }
|
|
|
| void fail_computeResolvableCompilationUnit_dart_exception() {
|
| TestSource source = _addSourceWithException("/test.dart");
|
| try {
|
| - _context.computeResolvableCompilationUnit(source);
|
| + context.computeResolvableCompilationUnit(source);
|
| fail("Expected AnalysisException");
|
| } on AnalysisException {
|
| // Expected
|
| @@ -295,9 +204,9 @@ import 'libB.dart';''';
|
| }
|
|
|
| void fail_computeResolvableCompilationUnit_html_exception() {
|
| - Source source = _addSource("/lib.html", "<html></html>");
|
| + Source source = addSource("/lib.html", "<html></html>");
|
| try {
|
| - _context.computeResolvableCompilationUnit(source);
|
| + context.computeResolvableCompilationUnit(source);
|
| fail("Expected AnalysisException");
|
| } on AnalysisException {
|
| // Expected
|
| @@ -305,25 +214,23 @@ import 'libB.dart';''';
|
| }
|
|
|
| void fail_computeResolvableCompilationUnit_valid() {
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| - CompilationUnit parsedUnit = _context.parseCompilationUnit(source);
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| + CompilationUnit parsedUnit = context.parseCompilationUnit(source);
|
| expect(parsedUnit, isNotNull);
|
| CompilationUnit resolvedUnit =
|
| - _context.computeResolvableCompilationUnit(source);
|
| + context.computeResolvableCompilationUnit(source);
|
| expect(resolvedUnit, isNotNull);
|
| expect(resolvedUnit, same(parsedUnit));
|
| }
|
|
|
| Future fail_computeResolvedCompilationUnitAsync_dispose() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| // Complete all pending analysis tasks and flush the AST so that it won't
|
| // be available immediately.
|
| _performPendingAnalysisTasks();
|
| _flushAst(source);
|
| CancelableFuture<CompilationUnit> future =
|
| - _context.computeResolvedCompilationUnitAsync(source, source);
|
| + context.computeResolvedCompilationUnitAsync(source, source);
|
| bool completed = false;
|
| future.then((CompilationUnit unit) {
|
| fail('Future should have completed with error');
|
| @@ -332,24 +239,22 @@ import 'libB.dart';''';
|
| completed = true;
|
| });
|
| expect(completed, isFalse);
|
| - expect(_context.pendingFutureSources_forTesting, isNotEmpty);
|
| + expect(context.pendingFutureSources_forTesting, isNotEmpty);
|
| // Disposing of the context should cause all pending futures to complete
|
| // with AnalysisNotScheduled, so that no clients are left hanging.
|
| - _context.dispose();
|
| - expect(_context.pendingFutureSources_forTesting, isEmpty);
|
| + context.dispose();
|
| + expect(context.pendingFutureSources_forTesting, isEmpty);
|
| return pumpEventQueue().then((_) {
|
| expect(completed, isTrue);
|
| - expect(_context.pendingFutureSources_forTesting, isEmpty);
|
| + expect(context.pendingFutureSources_forTesting, isEmpty);
|
| });
|
| }
|
|
|
| Future fail_computeResolvedCompilationUnitAsync_unrelatedLibrary() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source librarySource = _addSource("/lib.dart", "library lib;");
|
| - Source partSource = _addSource("/part.dart", "part of foo;");
|
| + Source librarySource = addSource("/lib.dart", "library lib;");
|
| + Source partSource = addSource("/part.dart", "part of foo;");
|
| bool completed = false;
|
| - _context
|
| + context
|
| .computeResolvedCompilationUnitAsync(partSource, librarySource)
|
| .then((_) {
|
| fail('Expected resolution to fail');
|
| @@ -369,178 +274,170 @@ import 'libB.dart';''';
|
| fail("Implement this");
|
| }
|
|
|
| - void fail_getElement_constructor_named() {
|
| - Source source = _addSource("/lib.dart", r'''
|
| + void test_getElement_constructor_named() {
|
| + Source source = addSource("/lib.dart", r'''
|
| class A {
|
| A.named() {}
|
| }''');
|
| _analyzeAll_assertFinished();
|
| - LibraryElement library = _context.computeLibraryElement(source);
|
| + LibraryElement library = context.computeLibraryElement(source);
|
| ClassElement classA = _findClass(library.definingCompilationUnit, "A");
|
| ConstructorElement constructor = classA.constructors[0];
|
| ElementLocation location = constructor.location;
|
| - Element element = _context.getElement(location);
|
| + Element element = context.getElement(location);
|
| expect(element, same(constructor));
|
| }
|
|
|
| - void fail_getElement_constructor_unnamed() {
|
| - Source source = _addSource("/lib.dart", r'''
|
| + void test_getElement_constructor_unnamed() {
|
| + Source source = addSource("/lib.dart", r'''
|
| class A {
|
| A() {}
|
| }''');
|
| _analyzeAll_assertFinished();
|
| - LibraryElement library = _context.computeLibraryElement(source);
|
| + LibraryElement library = context.computeLibraryElement(source);
|
| ClassElement classA = _findClass(library.definingCompilationUnit, "A");
|
| ConstructorElement constructor = classA.constructors[0];
|
| ElementLocation location = constructor.location;
|
| - Element element = _context.getElement(location);
|
| + Element element = context.getElement(location);
|
| expect(element, same(constructor));
|
| }
|
|
|
| - void fail_getElement_enum() {
|
| - Source source = _addSource('/test.dart', 'enum MyEnum {A, B, C}');
|
| + void test_getElement_enum() {
|
| + Source source = addSource('/test.dart', 'enum MyEnum {A, B, C}');
|
| _analyzeAll_assertFinished();
|
| - LibraryElement library = _context.computeLibraryElement(source);
|
| + LibraryElement library = context.computeLibraryElement(source);
|
| ClassElement myEnum = library.definingCompilationUnit.getEnum('MyEnum');
|
| ElementLocation location = myEnum.location;
|
| - Element element = _context.getElement(location);
|
| + Element element = context.getElement(location);
|
| expect(element, same(myEnum));
|
| }
|
|
|
| void fail_getErrors_dart_none() {
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| - var errorInfo = _context.getErrors(source);
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| + var errorInfo = context.getErrors(source);
|
| expect(errorInfo, isNotNull);
|
| List<AnalysisError> errors = errorInfo.errors;
|
| expect(errors, hasLength(0));
|
| - _context.computeErrors(source);
|
| + context.computeErrors(source);
|
| errors = errorInfo.errors;
|
| expect(errors, hasLength(0));
|
| }
|
|
|
| void fail_getErrors_dart_some() {
|
| - Source source = _addSource("/lib.dart", "library 'lib';");
|
| - var errorInfo = _context.getErrors(source);
|
| + Source source = addSource("/lib.dart", "library 'lib';");
|
| + var errorInfo = context.getErrors(source);
|
| expect(errorInfo, isNotNull);
|
| List<AnalysisError> errors = errorInfo.errors;
|
| expect(errors, hasLength(0));
|
| - _context.computeErrors(source);
|
| + context.computeErrors(source);
|
| errors = errorInfo.errors;
|
| expect(errors, hasLength(1));
|
| }
|
|
|
| void fail_getErrors_html_none() {
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - AnalysisErrorInfo errorInfo = _context.getErrors(source);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + AnalysisErrorInfo errorInfo = context.getErrors(source);
|
| expect(errorInfo, isNotNull);
|
| List<AnalysisError> errors = errorInfo.errors;
|
| expect(errors, hasLength(0));
|
| - _context.computeErrors(source);
|
| + context.computeErrors(source);
|
| errors = errorInfo.errors;
|
| expect(errors, hasLength(0));
|
| }
|
|
|
| void fail_getErrors_html_some() {
|
| - Source source = _addSource("/test.html", r'''
|
| + Source source = addSource("/test.html", r'''
|
| <html><head>
|
| <script type='application/dart' src='test.dart'/>
|
| </head></html>''');
|
| - AnalysisErrorInfo errorInfo = _context.getErrors(source);
|
| + AnalysisErrorInfo errorInfo = context.getErrors(source);
|
| expect(errorInfo, isNotNull);
|
| List<AnalysisError> errors = errorInfo.errors;
|
| expect(errors, hasLength(0));
|
| - _context.computeErrors(source);
|
| + context.computeErrors(source);
|
| errors = errorInfo.errors;
|
| expect(errors, hasLength(1));
|
| }
|
|
|
| void fail_getHtmlElement_html() {
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - HtmlElement element = _context.getHtmlElement(source);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + HtmlElement element = context.getHtmlElement(source);
|
| expect(element, isNull);
|
| - _context.computeHtmlElement(source);
|
| - element = _context.getHtmlElement(source);
|
| + context.computeHtmlElement(source);
|
| + element = context.getHtmlElement(source);
|
| expect(element, isNotNull);
|
| }
|
|
|
| void fail_getHtmlFilesReferencing_library() {
|
| - Source htmlSource = _addSource("/test.html", r'''
|
| + Source htmlSource = addSource("/test.html", r'''
|
| <html><head>
|
| <script type='application/dart' src='test.dart'/>
|
| <script type='application/dart' src='test.js'/>
|
| </head></html>''');
|
| - Source librarySource = _addSource("/test.dart", "library lib;");
|
| - List<Source> result = _context.getHtmlFilesReferencing(librarySource);
|
| + Source librarySource = addSource("/test.dart", "library lib;");
|
| + List<Source> result = context.getHtmlFilesReferencing(librarySource);
|
| expect(result, hasLength(0));
|
| - _context.parseHtmlUnit(htmlSource);
|
| - result = _context.getHtmlFilesReferencing(librarySource);
|
| + context.parseHtmlUnit(htmlSource);
|
| + result = context.getHtmlFilesReferencing(librarySource);
|
| expect(result, hasLength(1));
|
| expect(result[0], htmlSource);
|
| }
|
|
|
| void fail_getHtmlFilesReferencing_part() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source htmlSource = _addSource("/test.html", r'''
|
| + Source htmlSource = addSource("/test.html", r'''
|
| <html><head>
|
| <script type='application/dart' src='test.dart'/>
|
| <script type='application/dart' src='test.js'/>
|
| </head></html>''');
|
| Source librarySource =
|
| - _addSource("/test.dart", "library lib; part 'part.dart';");
|
| - Source partSource = _addSource("/part.dart", "part of lib;");
|
| - _context.computeLibraryElement(librarySource);
|
| - List<Source> result = _context.getHtmlFilesReferencing(partSource);
|
| + addSource("/test.dart", "library lib; part 'part.dart';");
|
| + Source partSource = addSource("/part.dart", "part of lib;");
|
| + context.computeLibraryElement(librarySource);
|
| + List<Source> result = context.getHtmlFilesReferencing(partSource);
|
| expect(result, hasLength(0));
|
| - _context.parseHtmlUnit(htmlSource);
|
| - result = _context.getHtmlFilesReferencing(partSource);
|
| + context.parseHtmlUnit(htmlSource);
|
| + result = context.getHtmlFilesReferencing(partSource);
|
| expect(result, hasLength(1));
|
| expect(result[0], htmlSource);
|
| }
|
|
|
| void fail_getHtmlSources() {
|
| - List<Source> sources = _context.htmlSources;
|
| + List<Source> sources = context.htmlSources;
|
| expect(sources, hasLength(0));
|
| - Source source = _addSource("/test.html", "");
|
| - _context.computeKindOf(source);
|
| - sources = _context.htmlSources;
|
| + Source source = addSource("/test.html", "");
|
| + context.computeKindOf(source);
|
| + sources = context.htmlSources;
|
| expect(sources, hasLength(1));
|
| expect(sources[0], source);
|
| }
|
|
|
| void fail_getLibrariesReferencedFromHtml() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source htmlSource = _addSource("/test.html", r'''
|
| + Source htmlSource = addSource("/test.html", r'''
|
| <html><head>
|
| <script type='application/dart' src='test.dart'/>
|
| <script type='application/dart' src='test.js'/>
|
| </head></html>''');
|
| - Source librarySource = _addSource("/test.dart", "library lib;");
|
| - _context.computeLibraryElement(librarySource);
|
| - _context.parseHtmlUnit(htmlSource);
|
| - List<Source> result = _context.getLibrariesReferencedFromHtml(htmlSource);
|
| + Source librarySource = addSource("/test.dart", "library lib;");
|
| + context.computeLibraryElement(librarySource);
|
| + context.parseHtmlUnit(htmlSource);
|
| + List<Source> result = context.getLibrariesReferencedFromHtml(htmlSource);
|
| expect(result, hasLength(1));
|
| expect(result[0], librarySource);
|
| }
|
|
|
| void fail_getResolvedCompilationUnit_library() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library libb;");
|
| - LibraryElement library = _context.computeLibraryElement(source);
|
| - expect(_context.getResolvedCompilationUnit(source, library), isNotNull);
|
| - _context.setContents(source, "library lib;");
|
| - expect(_context.getResolvedCompilationUnit(source, library), isNull);
|
| + Source source = addSource("/lib.dart", "library libb;");
|
| + LibraryElement library = context.computeLibraryElement(source);
|
| + expect(context.getResolvedCompilationUnit(source, library), isNotNull);
|
| + context.setContents(source, "library lib;");
|
| + expect(context.getResolvedCompilationUnit(source, library), isNull);
|
| }
|
|
|
| void fail_getResolvedHtmlUnit() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - expect(_context.getResolvedHtmlUnit(source), isNull);
|
| - _context.resolveHtmlUnit(source);
|
| - expect(_context.getResolvedHtmlUnit(source), isNotNull);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + expect(context.getResolvedHtmlUnit(source), isNull);
|
| + context.resolveHtmlUnit(source);
|
| + expect(context.getResolvedHtmlUnit(source), isNotNull);
|
| }
|
|
|
| void fail_mergeContext() {
|
| @@ -548,16 +445,16 @@ class A {
|
| }
|
|
|
| void fail_parseHtmlUnit_noErrors() {
|
| - Source source = _addSource("/lib.html", "<html></html>");
|
| - ht.HtmlUnit unit = _context.parseHtmlUnit(source);
|
| + Source source = addSource("/lib.html", "<html></html>");
|
| + ht.HtmlUnit unit = context.parseHtmlUnit(source);
|
| expect(unit, isNotNull);
|
| }
|
|
|
| void fail_parseHtmlUnit_resolveDirectives() {
|
| - Source libSource = _addSource("/lib.dart", r'''
|
| + Source libSource = addSource("/lib.dart", r'''
|
| library lib;
|
| class ClassA {}''');
|
| - Source source = _addSource("/lib.html", r'''
|
| + Source source = addSource("/lib.html", r'''
|
| <html>
|
| <head>
|
| <script type='application/dart'>
|
| @@ -568,7 +465,7 @@ class ClassA {}''');
|
| <body>
|
| </body>
|
| </html>''');
|
| - ht.HtmlUnit unit = _context.parseHtmlUnit(source);
|
| + ht.HtmlUnit unit = context.parseHtmlUnit(source);
|
| expect(unit, isNotNull);
|
| // import directive should be resolved
|
| ht.XmlTagNode htmlNode = unit.tagNodes[0];
|
| @@ -581,190 +478,177 @@ class ClassA {}''');
|
| }
|
|
|
| void fail_performAnalysisTask_addPart() {
|
| - Source libSource = _addSource("/lib.dart", r'''
|
| + Source libSource = addSource("/lib.dart", r'''
|
| library lib;
|
| part 'part.dart';''');
|
| // run all tasks without part
|
| _analyzeAll_assertFinished();
|
| // add part and run all tasks
|
| - Source partSource = _addSource("/part.dart", r'''
|
| + Source partSource = addSource("/part.dart", r'''
|
| part of lib;
|
| ''');
|
| _analyzeAll_assertFinished();
|
| // "libSource" should be here
|
| - List<Source> librariesWithPart =
|
| - _context.getLibrariesContaining(partSource);
|
| + List<Source> librariesWithPart = context.getLibrariesContaining(partSource);
|
| expect(librariesWithPart, unorderedEquals([libSource]));
|
| }
|
|
|
| void fail_performAnalysisTask_changeLibraryContents() {
|
| Source libSource =
|
| - _addSource("/test.dart", "library lib; part 'test-part.dart';");
|
| - Source partSource = _addSource("/test-part.dart", "part of lib;");
|
| + addSource("/test.dart", "library lib; part 'test-part.dart';");
|
| + Source partSource = addSource("/test-part.dart", "part of lib;");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 1");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| reason: "part resolved 1");
|
| // update and analyze #1
|
| - _context.setContents(libSource, "library lib;");
|
| - expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| + context.setContents(libSource, "library lib;");
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| reason: "library changed 2");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part changed 2");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 2");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part resolved 2");
|
| // update and analyze #2
|
| - _context.setContents(libSource, "library lib; part 'test-part.dart';");
|
| - expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| + context.setContents(libSource, "library lib; part 'test-part.dart';");
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| reason: "library changed 3");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part changed 3");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 2");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| reason: "part resolved 3");
|
| }
|
|
|
| void fail_performAnalysisTask_changeLibraryThenPartContents() {
|
| Source libSource =
|
| - _addSource("/test.dart", "library lib; part 'test-part.dart';");
|
| - Source partSource = _addSource("/test-part.dart", "part of lib;");
|
| + addSource("/test.dart", "library lib; part 'test-part.dart';");
|
| + Source partSource = addSource("/test-part.dart", "part of lib;");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 1");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| reason: "part resolved 1");
|
| // update and analyze #1
|
| - _context.setContents(libSource, "library lib;");
|
| - expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| + context.setContents(libSource, "library lib;");
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| reason: "library changed 2");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part changed 2");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 2");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part resolved 2");
|
| // update and analyze #2
|
| - _context.setContents(partSource, "part of lib; // 1");
|
| + context.setContents(partSource, "part of lib; // 1");
|
| // Assert that changing the part's content does not effect the library
|
| // now that it is no longer part of that library
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library changed 3");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part changed 3");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 3");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part resolved 3");
|
| }
|
|
|
| void fail_performAnalysisTask_changePartContents_makeItAPart() {
|
| - Source libSource = _addSource("/lib.dart", r'''
|
| + Source libSource = addSource("/lib.dart", r'''
|
| library lib;
|
| part 'part.dart';
|
| void f(x) {}''');
|
| - Source partSource = _addSource("/part.dart", "void g() { f(null); }");
|
| + Source partSource = addSource("/part.dart", "void g() { f(null); }");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 1");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| reason: "part resolved 1");
|
| // update and analyze
|
| - _context.setContents(partSource, r'''
|
| + context.setContents(partSource, r'''
|
| part of lib;
|
| void g() { f(null); }''');
|
| - expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| reason: "library changed 2");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part changed 2");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 2");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| reason: "part resolved 2");
|
| - expect(_context.getErrors(libSource).errors, hasLength(0));
|
| - expect(_context.getErrors(partSource).errors, hasLength(0));
|
| + expect(context.getErrors(libSource).errors, hasLength(0));
|
| + expect(context.getErrors(partSource).errors, hasLength(0));
|
| }
|
|
|
| /**
|
| * https://code.google.com/p/dart/issues/detail?id=12424
|
| */
|
| void fail_performAnalysisTask_changePartContents_makeItNotPart() {
|
| - Source libSource = _addSource("/lib.dart", r'''
|
| + Source libSource = addSource("/lib.dart", r'''
|
| library lib;
|
| part 'part.dart';
|
| void f(x) {}''');
|
| - Source partSource = _addSource("/part.dart", r'''
|
| + Source partSource = addSource("/part.dart", r'''
|
| part of lib;
|
| void g() { f(null); }''');
|
| _analyzeAll_assertFinished();
|
| - expect(_context.getErrors(libSource).errors, hasLength(0));
|
| - expect(_context.getErrors(partSource).errors, hasLength(0));
|
| + expect(context.getErrors(libSource).errors, hasLength(0));
|
| + expect(context.getErrors(partSource).errors, hasLength(0));
|
| // Remove 'part' directive, which should make "f(null)" an error.
|
| - _context.setContents(partSource, r'''
|
| + context.setContents(partSource, r'''
|
| //part of lib;
|
| void g() { f(null); }''');
|
| _analyzeAll_assertFinished();
|
| - expect(_context.getErrors(libSource).errors.length != 0, isTrue);
|
| + expect(context.getErrors(libSource).errors.length != 0, isTrue);
|
| }
|
|
|
| void fail_performAnalysisTask_changePartContents_noSemanticChanges() {
|
| Source libSource =
|
| - _addSource("/test.dart", "library lib; part 'test-part.dart';");
|
| - Source partSource = _addSource("/test-part.dart", "part of lib;");
|
| + addSource("/test.dart", "library lib; part 'test-part.dart';");
|
| + Source partSource = addSource("/test-part.dart", "part of lib;");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 1");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| reason: "part resolved 1");
|
| // update and analyze #1
|
| - _context.setContents(partSource, "part of lib; // 1");
|
| - expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| + context.setContents(partSource, "part of lib; // 1");
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| reason: "library changed 2");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part changed 2");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 2");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| reason: "part resolved 2");
|
| // update and analyze #2
|
| - _context.setContents(partSource, "part of lib; // 12");
|
| - expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| + context.setContents(partSource, "part of lib; // 12");
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull,
|
| reason: "library changed 3");
|
| - expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| + expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull,
|
| reason: "part changed 3");
|
| _analyzeAll_assertFinished();
|
| - expect(
|
| - _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| + expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull,
|
| reason: "library resolved 3");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(partSource, libSource), isNotNull,
|
| reason: "part resolved 3");
|
| }
|
|
|
| @@ -774,11 +658,11 @@ void g() { f(null); }''');
|
| {
|
| ChangeSet changeSet = new ChangeSet();
|
| changeSet.addedSource(source);
|
| - _context.applyChanges(changeSet);
|
| + context.applyChanges(changeSet);
|
| }
|
| // prepare errors
|
| _analyzeAll_assertFinished();
|
| - List<AnalysisError> errors = _context.getErrors(source).errors;
|
| + List<AnalysisError> errors = context.getErrors(source).errors;
|
| // validate errors
|
| expect(errors, hasLength(1));
|
| AnalysisError error = errors[0];
|
| @@ -792,11 +676,11 @@ void g() { f(null); }''');
|
| {
|
| ChangeSet changeSet = new ChangeSet();
|
| changeSet.addedSource(source);
|
| - _context.applyChanges(changeSet);
|
| + context.applyChanges(changeSet);
|
| }
|
| // prepare errors
|
| _analyzeAll_assertFinished();
|
| - List<AnalysisError> errors = _context.getErrors(source).errors;
|
| + List<AnalysisError> errors = context.getErrors(source).errors;
|
| // validate errors
|
| expect(errors, hasLength(1));
|
| AnalysisError error = errors[0];
|
| @@ -806,44 +690,44 @@ void g() { f(null); }''');
|
|
|
| void fail_performAnalysisTask_importedLibraryAdd() {
|
| Source libASource =
|
| - _addSource("/libA.dart", "library libA; import 'libB.dart';");
|
| + addSource("/libA.dart", "library libA; import 'libB.dart';");
|
| _analyzeAll_assertFinished();
|
| expect(
|
| - _context.getResolvedCompilationUnit2(libASource, libASource), isNotNull,
|
| + context.getResolvedCompilationUnit2(libASource, libASource), isNotNull,
|
| reason: "libA resolved 1");
|
| - expect(_hasAnalysisErrorWithErrorSeverity(_context.getErrors(libASource)),
|
| + expect(_hasAnalysisErrorWithErrorSeverity(context.getErrors(libASource)),
|
| isTrue, reason: "libA has an error");
|
| // add libB.dart and analyze
|
| - Source libBSource = _addSource("/libB.dart", "library libB;");
|
| + Source libBSource = addSource("/libB.dart", "library libB;");
|
| _analyzeAll_assertFinished();
|
| expect(
|
| - _context.getResolvedCompilationUnit2(libASource, libASource), isNotNull,
|
| + context.getResolvedCompilationUnit2(libASource, libASource), isNotNull,
|
| reason: "libA resolved 2");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull,
|
| reason: "libB resolved 2");
|
| - expect(!_hasAnalysisErrorWithErrorSeverity(_context.getErrors(libASource)),
|
| + expect(!_hasAnalysisErrorWithErrorSeverity(context.getErrors(libASource)),
|
| isTrue, reason: "libA doesn't have errors");
|
| }
|
|
|
| void fail_performAnalysisTask_importedLibraryAdd_html() {
|
| - Source htmlSource = _addSource("/page.html", r'''
|
| + Source htmlSource = addSource("/page.html", r'''
|
| <html><body><script type="application/dart">
|
| import '/libB.dart';
|
| main() {print('hello dart');}
|
| </script></body></html>''');
|
| _analyzeAll_assertFinished();
|
| - expect(_context.getResolvedHtmlUnit(htmlSource), isNotNull,
|
| + expect(context.getResolvedHtmlUnit(htmlSource), isNotNull,
|
| reason: "htmlUnit resolved 1");
|
| - expect(_hasAnalysisErrorWithErrorSeverity(_context.getErrors(htmlSource)),
|
| + expect(_hasAnalysisErrorWithErrorSeverity(context.getErrors(htmlSource)),
|
| isTrue, reason: "htmlSource has an error");
|
| // add libB.dart and analyze
|
| - Source libBSource = _addSource("/libB.dart", "library libB;");
|
| + Source libBSource = addSource("/libB.dart", "library libB;");
|
| _analyzeAll_assertFinished();
|
| - expect(_context.getResolvedHtmlUnit(htmlSource), isNotNull,
|
| + expect(context.getResolvedHtmlUnit(htmlSource), isNotNull,
|
| reason: "htmlUnit resolved 1");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull,
|
| reason: "libB resolved 2");
|
| // TODO (danrubel) commented out to fix red bots
|
| // AnalysisErrorInfo errors = _context.getErrors(htmlSource);
|
| @@ -855,56 +739,56 @@ void g() { f(null); }''');
|
|
|
| void fail_performAnalysisTask_importedLibraryDelete() {
|
| Source libASource =
|
| - _addSource("/libA.dart", "library libA; import 'libB.dart';");
|
| - Source libBSource = _addSource("/libB.dart", "library libB;");
|
| + addSource("/libA.dart", "library libA; import 'libB.dart';");
|
| + Source libBSource = addSource("/libB.dart", "library libB;");
|
| _analyzeAll_assertFinished();
|
| expect(
|
| - _context.getResolvedCompilationUnit2(libASource, libASource), isNotNull,
|
| + context.getResolvedCompilationUnit2(libASource, libASource), isNotNull,
|
| reason: "libA resolved 1");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull,
|
| reason: "libB resolved 1");
|
| - expect(!_hasAnalysisErrorWithErrorSeverity(_context.getErrors(libASource)),
|
| + expect(!_hasAnalysisErrorWithErrorSeverity(context.getErrors(libASource)),
|
| isTrue, reason: "libA doesn't have errors");
|
| // remove libB.dart content and analyze
|
| - _context.setContents(libBSource, null);
|
| + context.setContents(libBSource, null);
|
| _analyzeAll_assertFinished();
|
| expect(
|
| - _context.getResolvedCompilationUnit2(libASource, libASource), isNotNull,
|
| + context.getResolvedCompilationUnit2(libASource, libASource), isNotNull,
|
| reason: "libA resolved 2");
|
| - expect(_hasAnalysisErrorWithErrorSeverity(_context.getErrors(libASource)),
|
| + expect(_hasAnalysisErrorWithErrorSeverity(context.getErrors(libASource)),
|
| isTrue, reason: "libA has an error");
|
| }
|
|
|
| void fail_performAnalysisTask_importedLibraryDelete_html() {
|
| // NOTE: This was failing before converting to the new task model.
|
| - Source htmlSource = _addSource("/page.html", r'''
|
| + Source htmlSource = addSource("/page.html", r'''
|
| <html><body><script type="application/dart">
|
| import 'libB.dart';
|
| main() {print('hello dart');}
|
| </script></body></html>''');
|
| - Source libBSource = _addSource("/libB.dart", "library libB;");
|
| + Source libBSource = addSource("/libB.dart", "library libB;");
|
| _analyzeAll_assertFinished();
|
| - expect(_context.getResolvedHtmlUnit(htmlSource), isNotNull,
|
| + expect(context.getResolvedHtmlUnit(htmlSource), isNotNull,
|
| reason: "htmlUnit resolved 1");
|
| expect(
|
| - _context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull,
|
| + context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull,
|
| reason: "libB resolved 1");
|
| - expect(!_hasAnalysisErrorWithErrorSeverity(_context.getErrors(htmlSource)),
|
| + expect(!_hasAnalysisErrorWithErrorSeverity(context.getErrors(htmlSource)),
|
| isTrue, reason: "htmlSource doesn't have errors");
|
| // remove libB.dart content and analyze
|
| - _context.setContents(libBSource, null);
|
| + context.setContents(libBSource, null);
|
| _analyzeAll_assertFinished();
|
| - expect(_context.getResolvedHtmlUnit(htmlSource), isNotNull,
|
| + expect(context.getResolvedHtmlUnit(htmlSource), isNotNull,
|
| reason: "htmlUnit resolved 1");
|
| - AnalysisErrorInfo errors = _context.getErrors(htmlSource);
|
| + AnalysisErrorInfo errors = context.getErrors(htmlSource);
|
| expect(_hasAnalysisErrorWithErrorSeverity(errors), isTrue,
|
| reason: "htmlSource has an error");
|
| }
|
|
|
| void fail_performAnalysisTask_IOException() {
|
| TestSource source = _addSourceWithException2("/test.dart", "library test;");
|
| - int oldTimestamp = _context.getModificationStamp(source);
|
| + int oldTimestamp = context.getModificationStamp(source);
|
| source.generateExceptionOnRead = false;
|
| _analyzeAll_assertFinished();
|
| expect(source.readCount, 1);
|
| @@ -913,16 +797,16 @@ void g() { f(null); }''');
|
| _changeSource(source, "");
|
| // Ensure that the timestamp differs,
|
| // so that analysis engine notices the change
|
| - } while (oldTimestamp == _context.getModificationStamp(source));
|
| + } while (oldTimestamp == context.getModificationStamp(source));
|
| _analyzeAll_assertFinished();
|
| expect(source.readCount, 2);
|
| }
|
|
|
| void fail_performAnalysisTask_missingPart() {
|
| Source source =
|
| - _addSource("/test.dart", "library lib; part 'no-such-file.dart';");
|
| + addSource("/test.dart", "library lib; part 'no-such-file.dart';");
|
| _analyzeAll_assertFinished();
|
| - expect(_context.getLibraryElement(source), isNotNull,
|
| + expect(context.getLibraryElement(source), isNotNull,
|
| reason: "performAnalysisTask failed to compute an element model");
|
| }
|
|
|
| @@ -931,12 +815,11 @@ void g() { f(null); }''');
|
| }
|
|
|
| void fail_resolveCompilationUnit_import_relative() {
|
| - _context = contextWithCore();
|
| Source sourceA =
|
| - _addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}");
|
| - _addSource("/libB.dart", "library libB; class B{}");
|
| + addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}");
|
| + addSource("/libB.dart", "library libB; class B{}");
|
| CompilationUnit compilationUnit =
|
| - _context.resolveCompilationUnit2(sourceA, sourceA);
|
| + context.resolveCompilationUnit2(sourceA, sourceA);
|
| expect(compilationUnit, isNotNull);
|
| LibraryElement library = compilationUnit.element.library;
|
| List<LibraryElement> importedLibraries = library.importedLibraries;
|
| @@ -946,12 +829,11 @@ void g() { f(null); }''');
|
| }
|
|
|
| void fail_resolveCompilationUnit_import_relative_cyclic() {
|
| - _context = contextWithCore();
|
| Source sourceA =
|
| - _addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}");
|
| - _addSource("/libB.dart", "library libB; import 'libA.dart'; class B{}");
|
| + addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}");
|
| + addSource("/libB.dart", "library libB; import 'libA.dart'; class B{}");
|
| CompilationUnit compilationUnit =
|
| - _context.resolveCompilationUnit2(sourceA, sourceA);
|
| + context.resolveCompilationUnit2(sourceA, sourceA);
|
| expect(compilationUnit, isNotNull);
|
| LibraryElement library = compilationUnit.element.library;
|
| List<LibraryElement> importedLibraries = library.importedLibraries;
|
| @@ -961,70 +843,68 @@ void g() { f(null); }''');
|
| }
|
|
|
| void fail_resolveHtmlUnit() {
|
| - Source source = _addSource("/lib.html", "<html></html>");
|
| - ht.HtmlUnit unit = _context.resolveHtmlUnit(source);
|
| + Source source = addSource("/lib.html", "<html></html>");
|
| + ht.HtmlUnit unit = context.resolveHtmlUnit(source);
|
| expect(unit, isNotNull);
|
| }
|
|
|
| void fail_setAnalysisOptions_reduceAnalysisPriorityOrder() {
|
| AnalysisOptionsImpl options =
|
| - new AnalysisOptionsImpl.con1(_context.analysisOptions);
|
| + new AnalysisOptionsImpl.con1(context.analysisOptions);
|
| List<Source> sources = new List<Source>();
|
| for (int index = 0; index < options.cacheSize; index++) {
|
| - sources.add(_addSource("/lib.dart$index", ""));
|
| + sources.add(addSource("/lib.dart$index", ""));
|
| }
|
| - _context.analysisPriorityOrder = sources;
|
| - int oldPriorityOrderSize = _getPriorityOrder(_context).length;
|
| + context.analysisPriorityOrder = sources;
|
| + int oldPriorityOrderSize = _getPriorityOrder(context).length;
|
| options.cacheSize = options.cacheSize - 10;
|
| - _context.analysisOptions = options;
|
| - expect(oldPriorityOrderSize > _getPriorityOrder(_context).length, isTrue);
|
| + context.analysisOptions = options;
|
| + expect(oldPriorityOrderSize > _getPriorityOrder(context).length, isTrue);
|
| }
|
|
|
| void fail_setAnalysisPriorityOrder_lessThanCacheSize() {
|
| - AnalysisOptions options = _context.analysisOptions;
|
| + AnalysisOptions options = context.analysisOptions;
|
| List<Source> sources = new List<Source>();
|
| for (int index = 0; index < options.cacheSize; index++) {
|
| - sources.add(_addSource("/lib.dart$index", ""));
|
| + sources.add(addSource("/lib.dart$index", ""));
|
| }
|
| - _context.analysisPriorityOrder = sources;
|
| - expect(options.cacheSize > _getPriorityOrder(_context).length, isTrue);
|
| + context.analysisPriorityOrder = sources;
|
| + expect(options.cacheSize > _getPriorityOrder(context).length, isTrue);
|
| }
|
|
|
| Future fail_setChangedContents_libraryWithPart() {
|
| AnalysisOptionsImpl options = new AnalysisOptionsImpl();
|
| options.incremental = true;
|
| - _context = new AnalysisContextForTests();
|
| - _context.analysisOptions = options;
|
| + context.analysisOptions = options;
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - _sourceFactory = _context.sourceFactory;
|
| + context.onSourcesChanged.listen(listener.onData);
|
| String oldCode = r'''
|
| library lib;
|
| part 'part.dart';
|
| int a = 0;''';
|
| - Source librarySource = _addSource("/lib.dart", oldCode);
|
| + Source librarySource = addSource("/lib.dart", oldCode);
|
| String partContents = r'''
|
| part of lib;
|
| int b = a;''';
|
| - Source partSource = _addSource("/part.dart", partContents);
|
| - LibraryElement element = _context.computeLibraryElement(librarySource);
|
| + Source partSource = addSource("/part.dart", partContents);
|
| + LibraryElement element = context.computeLibraryElement(librarySource);
|
| CompilationUnit unit =
|
| - _context.getResolvedCompilationUnit(librarySource, element);
|
| + context.getResolvedCompilationUnit(librarySource, element);
|
| expect(unit, isNotNull);
|
| int offset = oldCode.indexOf("int a") + 4;
|
| String newCode = r'''
|
| library lib;
|
| part 'part.dart';
|
| int ya = 0;''';
|
| - expect(_getIncrementalAnalysisCache(_context), isNull);
|
| - _context.setChangedContents(librarySource, newCode, offset, 0, 1);
|
| - expect(_context.getContents(librarySource).data, newCode);
|
| + expect(_getIncrementalAnalysisCache(context), isNull);
|
| + context.setChangedContents(librarySource, newCode, offset, 0, 1);
|
| + expect(context.getContents(librarySource).data, newCode);
|
| IncrementalAnalysisCache incrementalCache =
|
| - _getIncrementalAnalysisCache(_context);
|
| + _getIncrementalAnalysisCache(context);
|
| expect(incrementalCache.librarySource, librarySource);
|
| expect(incrementalCache.resolvedUnit, same(unit));
|
| - expect(_context.getResolvedCompilationUnit2(partSource, librarySource),
|
| - isNull);
|
| + expect(
|
| + context.getResolvedCompilationUnit2(partSource, librarySource), isNull);
|
| expect(incrementalCache.newContents, newCode);
|
| return pumpEventQueue().then((_) {
|
| listener.assertEvent(wereSourcesAdded: true);
|
| @@ -1036,30 +916,28 @@ int ya = 0;''';
|
| });
|
| }
|
|
|
| - void fail_setContents_unchanged_consistentModificationTime() {
|
| + void test_setContents_unchanged_consistentModificationTime() {
|
| String contents = "// foo";
|
| - Source source = _addSource("/test.dart", contents);
|
| + Source source = addSource("/test.dart", contents);
|
| // do all, no tasks
|
| _analyzeAll_assertFinished();
|
| {
|
| - AnalysisResult result = _context.performAnalysisTask();
|
| + AnalysisResult result = context.performAnalysisTask();
|
| expect(result.changeNotices, isNull);
|
| }
|
| // set the same contents, still no tasks
|
| - _context.setContents(source, contents);
|
| + context.setContents(source, contents);
|
| {
|
| - AnalysisResult result = _context.performAnalysisTask();
|
| + AnalysisResult result = context.performAnalysisTask();
|
| expect(result.changeNotices, isNull);
|
| }
|
| }
|
|
|
| void fail_unreadableSource() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source test1 = _addSource("/test1.dart", r'''
|
| + Source test1 = addSource("/test1.dart", r'''
|
| import 'test2.dart';
|
| library test1;''');
|
| - Source test2 = _addSource("/test2.dart", r'''
|
| + Source test2 = addSource("/test2.dart", r'''
|
| import 'test1.dart';
|
| import 'test3.dart';
|
| library test2;''');
|
| @@ -1067,61 +945,27 @@ library test2;''');
|
| _analyzeAll_assertFinished();
|
| // test1 and test2 should have been successfully analyzed
|
| // despite the fact that test3 couldn't be read.
|
| - expect(_context.computeLibraryElement(test1), isNotNull);
|
| - expect(_context.computeLibraryElement(test2), isNotNull);
|
| - expect(_context.computeLibraryElement(test3), isNull);
|
| - }
|
| -
|
| - @override
|
| - void setUp() {
|
| - EnginePlugin enginePlugin = AnalysisEngine.instance.enginePlugin;
|
| - if (enginePlugin.taskExtensionPoint == null) {
|
| - ExtensionManager manager = new ExtensionManager();
|
| - manager.processPlugins([enginePlugin]);
|
| - }
|
| -
|
| - _context = new AnalysisContextImpl();
|
| - _sourceFactory = new SourceFactory([
|
| - new DartUriResolver(DirectoryBasedDartSdk.defaultSdk),
|
| - new FileUriResolver()
|
| - ]);
|
| - _context.sourceFactory = _sourceFactory;
|
| - AnalysisOptionsImpl options =
|
| - new AnalysisOptionsImpl.con1(_context.analysisOptions);
|
| - options.cacheSize = 256;
|
| - _context.analysisOptions = options;
|
| - }
|
| -
|
| - void test_applyChanges_change_flush_element() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source librarySource = _addSource("/lib.dart", r'''
|
| -library lib;
|
| -int a = 0;''');
|
| - expect(_context.computeLibraryElement(librarySource), isNotNull);
|
| - _context.setContents(librarySource, r'''
|
| -library lib;
|
| -int aa = 0;''');
|
| - expect(_context.getLibraryElement(librarySource), isNull);
|
| + expect(context.computeLibraryElement(test1), isNotNull);
|
| + expect(context.computeLibraryElement(test2), isNotNull);
|
| + expect(context.computeLibraryElement(test3), isNull);
|
| }
|
|
|
| @override
|
| void tearDown() {
|
| - _context = null;
|
| - _sourceFactory = null;
|
| + context = null;
|
| + sourceFactory = null;
|
| super.tearDown();
|
| }
|
|
|
| Future test_applyChanges_add() {
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - expect(_context.sourcesNeedingProcessing, isEmpty);
|
| - Source source =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test.dart"));
|
| + context.onSourcesChanged.listen(listener.onData);
|
| + expect(context.sourcesNeedingProcessing, isEmpty);
|
| + Source source = newSource('/test.dart');
|
| ChangeSet changeSet = new ChangeSet();
|
| changeSet.addedSource(source);
|
| - _context.applyChanges(changeSet);
|
| - expect(_context.sourcesNeedingProcessing, contains(source));
|
| + context.applyChanges(changeSet);
|
| + expect(context.sourcesNeedingProcessing, contains(source));
|
| return pumpEventQueue().then((_) {
|
| listener.assertEvent(wereSourcesAdded: true);
|
| listener.assertNoMoreEvents();
|
| @@ -1130,20 +974,18 @@ int aa = 0;''');
|
|
|
| Future test_applyChanges_change() {
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - expect(_context.sourcesNeedingProcessing, isEmpty);
|
| - Source source =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test.dart"));
|
| + context.onSourcesChanged.listen(listener.onData);
|
| + expect(context.sourcesNeedingProcessing, isEmpty);
|
| + Source source = newSource('/test.dart');
|
| ChangeSet changeSet1 = new ChangeSet();
|
| changeSet1.addedSource(source);
|
| - _context.applyChanges(changeSet1);
|
| - expect(_context.sourcesNeedingProcessing, contains(source));
|
| - Source source2 =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test2.dart"));
|
| + context.applyChanges(changeSet1);
|
| + expect(context.sourcesNeedingProcessing, contains(source));
|
| + Source source2 = newSource('/test2.dart');
|
| ChangeSet changeSet2 = new ChangeSet();
|
| changeSet2.addedSource(source2);
|
| changeSet2.changedSource(source);
|
| - _context.applyChanges(changeSet2);
|
| + context.applyChanges(changeSet2);
|
| return pumpEventQueue().then((_) {
|
| listener.assertEvent(wereSourcesAdded: true);
|
| listener.assertEvent(wereSourcesAdded: true, changedSources: [source]);
|
| @@ -1153,20 +995,18 @@ int aa = 0;''');
|
|
|
| Future test_applyChanges_change_content() {
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - expect(_context.sourcesNeedingProcessing, isEmpty);
|
| - Source source =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test.dart"));
|
| + context.onSourcesChanged.listen(listener.onData);
|
| + expect(context.sourcesNeedingProcessing, isEmpty);
|
| + Source source = newSource('/test.dart');
|
| ChangeSet changeSet1 = new ChangeSet();
|
| changeSet1.addedSource(source);
|
| - _context.applyChanges(changeSet1);
|
| - expect(_context.sourcesNeedingProcessing, contains(source));
|
| - Source source2 =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test2.dart"));
|
| + context.applyChanges(changeSet1);
|
| + expect(context.sourcesNeedingProcessing, contains(source));
|
| + Source source2 = newSource('/test2.dart');
|
| ChangeSet changeSet2 = new ChangeSet();
|
| changeSet2.addedSource(source2);
|
| changeSet2.changedContent(source, 'library test;');
|
| - _context.applyChanges(changeSet2);
|
| + context.applyChanges(changeSet2);
|
| return pumpEventQueue().then((_) {
|
| listener.assertEvent(wereSourcesAdded: true);
|
| listener.assertEvent(wereSourcesAdded: true, changedSources: [source]);
|
| @@ -1174,36 +1014,45 @@ int aa = 0;''');
|
| });
|
| }
|
|
|
| + void test_applyChanges_change_flush_element() {
|
| + Source librarySource = addSource("/lib.dart", r'''
|
| +library lib;
|
| +int a = 0;''');
|
| + expect(context.computeLibraryElement(librarySource), isNotNull);
|
| + context.setContents(librarySource, r'''
|
| +library lib;
|
| +int aa = 0;''');
|
| + expect(context.getLibraryElement(librarySource), isNull);
|
| + }
|
| +
|
| Future test_applyChanges_change_multiple() {
|
| - _context = contextWithCore();
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - _sourceFactory = _context.sourceFactory;
|
| + context.onSourcesChanged.listen(listener.onData);
|
| String libraryContents1 = r'''
|
| library lib;
|
| part 'part.dart';
|
| int a = 0;''';
|
| - Source librarySource = _addSource("/lib.dart", libraryContents1);
|
| + Source librarySource = addSource("/lib.dart", libraryContents1);
|
| String partContents1 = r'''
|
| part of lib;
|
| int b = a;''';
|
| - Source partSource = _addSource("/part.dart", partContents1);
|
| - _context.computeLibraryElement(librarySource);
|
| + Source partSource = addSource("/part.dart", partContents1);
|
| + context.computeLibraryElement(librarySource);
|
| String libraryContents2 = r'''
|
| library lib;
|
| part 'part.dart';
|
| int aa = 0;''';
|
| - _context.setContents(librarySource, libraryContents2);
|
| + context.setContents(librarySource, libraryContents2);
|
| String partContents2 = r'''
|
| part of lib;
|
| int b = aa;''';
|
| - _context.setContents(partSource, partContents2);
|
| - _context.computeLibraryElement(librarySource);
|
| + context.setContents(partSource, partContents2);
|
| + context.computeLibraryElement(librarySource);
|
| CompilationUnit libraryUnit =
|
| - _context.resolveCompilationUnit2(librarySource, librarySource);
|
| + context.resolveCompilationUnit2(librarySource, librarySource);
|
| expect(libraryUnit, isNotNull);
|
| CompilationUnit partUnit =
|
| - _context.resolveCompilationUnit2(partSource, librarySource);
|
| + context.resolveCompilationUnit2(partSource, librarySource);
|
| expect(partUnit, isNotNull);
|
| TopLevelVariableDeclaration declaration =
|
| libraryUnit.declarations[0] as TopLevelVariableDeclaration;
|
| @@ -1227,20 +1076,18 @@ int b = aa;''';
|
|
|
| Future test_applyChanges_change_range() {
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - expect(_context.sourcesNeedingProcessing, isEmpty);
|
| - Source source =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test.dart"));
|
| + context.onSourcesChanged.listen(listener.onData);
|
| + expect(context.sourcesNeedingProcessing, isEmpty);
|
| + Source source = newSource('/test.dart');
|
| ChangeSet changeSet1 = new ChangeSet();
|
| changeSet1.addedSource(source);
|
| - _context.applyChanges(changeSet1);
|
| - expect(_context.sourcesNeedingProcessing, contains(source));
|
| - Source source2 =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test2.dart"));
|
| + context.applyChanges(changeSet1);
|
| + expect(context.sourcesNeedingProcessing, contains(source));
|
| + Source source2 = newSource('/test2.dart');
|
| ChangeSet changeSet2 = new ChangeSet();
|
| changeSet2.addedSource(source2);
|
| changeSet2.changedRange(source, 'library test;', 0, 0, 13);
|
| - _context.applyChanges(changeSet2);
|
| + context.applyChanges(changeSet2);
|
| return pumpEventQueue().then((_) {
|
| listener.assertEvent(wereSourcesAdded: true);
|
| listener.assertEvent(wereSourcesAdded: true, changedSources: [source]);
|
| @@ -1249,140 +1096,128 @@ int b = aa;''';
|
| }
|
|
|
| void test_computeDocumentationComment_block() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| String comment = "/** Comment */";
|
| - Source source = _addSource("/test.dart", """
|
| + Source source = addSource("/test.dart", """
|
| $comment
|
| class A {}""");
|
| - LibraryElement libraryElement = _context.computeLibraryElement(source);
|
| + LibraryElement libraryElement = context.computeLibraryElement(source);
|
| expect(libraryElement, isNotNull);
|
| ClassElement classElement = libraryElement.definingCompilationUnit.types[0];
|
| expect(libraryElement, isNotNull);
|
| - expect(_context.computeDocumentationComment(classElement), comment);
|
| + expect(context.computeDocumentationComment(classElement), comment);
|
| }
|
|
|
| void test_computeDocumentationComment_none() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", "class A {}");
|
| - LibraryElement libraryElement = _context.computeLibraryElement(source);
|
| + Source source = addSource("/test.dart", "class A {}");
|
| + LibraryElement libraryElement = context.computeLibraryElement(source);
|
| expect(libraryElement, isNotNull);
|
| ClassElement classElement = libraryElement.definingCompilationUnit.types[0];
|
| expect(libraryElement, isNotNull);
|
| - expect(_context.computeDocumentationComment(classElement), isNull);
|
| + expect(context.computeDocumentationComment(classElement), isNull);
|
| }
|
|
|
| void test_computeDocumentationComment_null() {
|
| - expect(_context.computeDocumentationComment(null), isNull);
|
| + expect(context.computeDocumentationComment(null), isNull);
|
| }
|
|
|
| void test_computeDocumentationComment_singleLine_multiple_EOL_n() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| String comment = "/// line 1\n/// line 2\n/// line 3\n";
|
| - Source source = _addSource("/test.dart", "${comment}class A {}");
|
| - LibraryElement libraryElement = _context.computeLibraryElement(source);
|
| + Source source = addSource("/test.dart", "${comment}class A {}");
|
| + LibraryElement libraryElement = context.computeLibraryElement(source);
|
| expect(libraryElement, isNotNull);
|
| ClassElement classElement = libraryElement.definingCompilationUnit.types[0];
|
| expect(libraryElement, isNotNull);
|
| - String actual = _context.computeDocumentationComment(classElement);
|
| + String actual = context.computeDocumentationComment(classElement);
|
| expect(actual, "/// line 1\n/// line 2\n/// line 3");
|
| }
|
|
|
| void test_computeDocumentationComment_singleLine_multiple_EOL_rn() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| String comment = "/// line 1\r\n/// line 2\r\n/// line 3\r\n";
|
| - Source source = _addSource("/test.dart", "${comment}class A {}");
|
| - LibraryElement libraryElement = _context.computeLibraryElement(source);
|
| + Source source = addSource("/test.dart", "${comment}class A {}");
|
| + LibraryElement libraryElement = context.computeLibraryElement(source);
|
| expect(libraryElement, isNotNull);
|
| ClassElement classElement = libraryElement.definingCompilationUnit.types[0];
|
| expect(libraryElement, isNotNull);
|
| - String actual = _context.computeDocumentationComment(classElement);
|
| + String actual = context.computeDocumentationComment(classElement);
|
| expect(actual, "/// line 1\n/// line 2\n/// line 3");
|
| }
|
|
|
| void test_computeExportedLibraries_none() {
|
| - Source source = _addSource("/test.dart", "library test;");
|
| - expect(_context.computeExportedLibraries(source), hasLength(0));
|
| + Source source = addSource("/test.dart", "library test;");
|
| + expect(context.computeExportedLibraries(source), hasLength(0));
|
| }
|
|
|
| void test_computeExportedLibraries_some() {
|
| // addSource("/lib1.dart", "library lib1;");
|
| // addSource("/lib2.dart", "library lib2;");
|
| - Source source = _addSource(
|
| + Source source = addSource(
|
| "/test.dart", "library test; export 'lib1.dart'; export 'lib2.dart';");
|
| - expect(_context.computeExportedLibraries(source), hasLength(2));
|
| + expect(context.computeExportedLibraries(source), hasLength(2));
|
| }
|
|
|
| void test_computeHtmlElement_nonHtml() {
|
| - Source source = _addSource("/test.dart", "library test;");
|
| - expect(_context.computeHtmlElement(source), isNull);
|
| + Source source = addSource("/test.dart", "library test;");
|
| + expect(context.computeHtmlElement(source), isNull);
|
| }
|
|
|
| void test_computeKindOf_html() {
|
| - Source source = _addSource("/test.html", "");
|
| - expect(_context.computeKindOf(source), same(SourceKind.HTML));
|
| + Source source = addSource("/test.html", "");
|
| + expect(context.computeKindOf(source), same(SourceKind.HTML));
|
| }
|
|
|
| void test_computeKindOf_library() {
|
| - Source source = _addSource("/test.dart", "library lib;");
|
| - expect(_context.computeKindOf(source), same(SourceKind.LIBRARY));
|
| + Source source = addSource("/test.dart", "library lib;");
|
| + expect(context.computeKindOf(source), same(SourceKind.LIBRARY));
|
| }
|
|
|
| void test_computeKindOf_libraryAndPart() {
|
| - Source source = _addSource("/test.dart", "library lib; part of lib;");
|
| - expect(_context.computeKindOf(source), same(SourceKind.LIBRARY));
|
| + Source source = addSource("/test.dart", "library lib; part of lib;");
|
| + expect(context.computeKindOf(source), same(SourceKind.LIBRARY));
|
| }
|
|
|
| void test_computeKindOf_part() {
|
| - Source source = _addSource("/test.dart", "part of lib;");
|
| - expect(_context.computeKindOf(source), same(SourceKind.PART));
|
| + Source source = addSource("/test.dart", "part of lib;");
|
| + expect(context.computeKindOf(source), same(SourceKind.PART));
|
| }
|
|
|
| void test_computeLibraryElement() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", "library lib;");
|
| - LibraryElement element = _context.computeLibraryElement(source);
|
| + Source source = addSource("/test.dart", "library lib;");
|
| + LibraryElement element = context.computeLibraryElement(source);
|
| expect(element, isNotNull);
|
| }
|
|
|
| void test_computeLineInfo_dart() {
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| library lib;
|
|
|
| main() {}''');
|
| - LineInfo info = _context.computeLineInfo(source);
|
| + LineInfo info = context.computeLineInfo(source);
|
| expect(info, isNotNull);
|
| }
|
|
|
| void test_computeLineInfo_html() {
|
| - Source source = _addSource("/test.html", r'''
|
| + Source source = addSource("/test.html", r'''
|
| <html>
|
| <body>
|
| <h1>A</h1>
|
| </body>
|
| </html>''');
|
| - LineInfo info = _context.computeLineInfo(source);
|
| + LineInfo info = context.computeLineInfo(source);
|
| expect(info, isNotNull);
|
| }
|
|
|
| Future test_computeResolvedCompilationUnitAsync_afterDispose() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| // Complete all pending analysis tasks and flush the AST so that it won't
|
| // be available immediately.
|
| _performPendingAnalysisTasks();
|
| _flushAst(source);
|
| // Dispose of the context.
|
| - _context.dispose();
|
| + context.dispose();
|
| // Any attempt to start an asynchronous computation should return a future
|
| // which completes with error.
|
| CancelableFuture<CompilationUnit> future =
|
| - _context.computeResolvedCompilationUnitAsync(source, source);
|
| + context.computeResolvedCompilationUnitAsync(source, source);
|
| bool completed = false;
|
| future.then((CompilationUnit unit) {
|
| fail('Future should have completed with error');
|
| @@ -1396,289 +1231,260 @@ main() {}''');
|
| }
|
|
|
| void test_dispose() {
|
| - expect(_context.isDisposed, isFalse);
|
| - _context.dispose();
|
| - expect(_context.isDisposed, isTrue);
|
| + expect(context.isDisposed, isFalse);
|
| + context.dispose();
|
| + expect(context.isDisposed, isTrue);
|
| }
|
|
|
| void test_exists_false() {
|
| TestSource source = new TestSource();
|
| source.exists2 = false;
|
| - expect(_context.exists(source), isFalse);
|
| + expect(context.exists(source), isFalse);
|
| }
|
|
|
| void test_exists_null() {
|
| - expect(_context.exists(null), isFalse);
|
| + expect(context.exists(null), isFalse);
|
| }
|
|
|
| void test_exists_overridden() {
|
| Source source = new TestSource();
|
| - _context.setContents(source, "");
|
| - expect(_context.exists(source), isTrue);
|
| + context.setContents(source, "");
|
| + expect(context.exists(source), isTrue);
|
| }
|
|
|
| void test_exists_true() {
|
| - expect(_context.exists(new AnalysisContextImplTest_Source_exists_true()),
|
| + expect(context.exists(new AnalysisContextImplTest_Source_exists_true()),
|
| isTrue);
|
| }
|
|
|
| void test_getAnalysisOptions() {
|
| - expect(_context.analysisOptions, isNotNull);
|
| + expect(context.analysisOptions, isNotNull);
|
| }
|
|
|
| void test_getContents_fromSource() {
|
| String content = "library lib;";
|
| TimestampedData<String> contents =
|
| - _context.getContents(new TestSource('/test.dart', content));
|
| + context.getContents(new TestSource('/test.dart', content));
|
| expect(contents.data.toString(), content);
|
| }
|
|
|
| void test_getContents_overridden() {
|
| String content = "library lib;";
|
| Source source = new TestSource();
|
| - _context.setContents(source, content);
|
| - TimestampedData<String> contents = _context.getContents(source);
|
| + context.setContents(source, content);
|
| + TimestampedData<String> contents = context.getContents(source);
|
| expect(contents.data.toString(), content);
|
| }
|
|
|
| void test_getContents_unoverridden() {
|
| String content = "library lib;";
|
| Source source = new TestSource('/test.dart', content);
|
| - _context.setContents(source, "part of lib;");
|
| - _context.setContents(source, null);
|
| - TimestampedData<String> contents = _context.getContents(source);
|
| + context.setContents(source, "part of lib;");
|
| + context.setContents(source, null);
|
| + TimestampedData<String> contents = context.getContents(source);
|
| expect(contents.data.toString(), content);
|
| }
|
|
|
| void test_getDeclaredVariables() {
|
| - _context = contextWithCore();
|
| - expect(_context.declaredVariables, isNotNull);
|
| + expect(context.declaredVariables, isNotNull);
|
| }
|
|
|
| void test_getElement() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| LibraryElement core =
|
| - _context.computeLibraryElement(_sourceFactory.forUri("dart:core"));
|
| + context.computeLibraryElement(sourceFactory.forUri("dart:core"));
|
| expect(core, isNotNull);
|
| ClassElement classObject =
|
| _findClass(core.definingCompilationUnit, "Object");
|
| expect(classObject, isNotNull);
|
| ElementLocation location = classObject.location;
|
| - Element element = _context.getElement(location);
|
| + Element element = context.getElement(location);
|
| expect(element, same(classObject));
|
| }
|
|
|
| void test_getHtmlElement_dart() {
|
| - Source source = _addSource("/test.dart", "");
|
| - expect(_context.getHtmlElement(source), isNull);
|
| - expect(_context.computeHtmlElement(source), isNull);
|
| - expect(_context.getHtmlElement(source), isNull);
|
| + Source source = addSource("/test.dart", "");
|
| + expect(context.getHtmlElement(source), isNull);
|
| + expect(context.computeHtmlElement(source), isNull);
|
| + expect(context.getHtmlElement(source), isNull);
|
| }
|
|
|
| void test_getHtmlFilesReferencing_html() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source htmlSource = _addSource("/test.html", r'''
|
| + Source htmlSource = addSource("/test.html", r'''
|
| <html><head>
|
| <script type='application/dart' src='test.dart'/>
|
| <script type='application/dart' src='test.js'/>
|
| </head></html>''');
|
| - Source librarySource = _addSource("/test.dart", "library lib;");
|
| - Source secondHtmlSource = _addSource("/test.html", "<html></html>");
|
| - _context.computeLibraryElement(librarySource);
|
| - List<Source> result = _context.getHtmlFilesReferencing(secondHtmlSource);
|
| + Source librarySource = addSource("/test.dart", "library lib;");
|
| + Source secondHtmlSource = addSource("/test.html", "<html></html>");
|
| + context.computeLibraryElement(librarySource);
|
| + List<Source> result = context.getHtmlFilesReferencing(secondHtmlSource);
|
| expect(result, hasLength(0));
|
| - _context.parseHtmlUnit(htmlSource);
|
| - result = _context.getHtmlFilesReferencing(secondHtmlSource);
|
| + context.parseHtmlUnit(htmlSource);
|
| + result = context.getHtmlFilesReferencing(secondHtmlSource);
|
| expect(result, hasLength(0));
|
| }
|
|
|
| void test_getKindOf_html() {
|
| - Source source = _addSource("/test.html", "");
|
| - expect(_context.getKindOf(source), same(SourceKind.HTML));
|
| + Source source = addSource("/test.html", "");
|
| + expect(context.getKindOf(source), same(SourceKind.HTML));
|
| }
|
|
|
| void test_getKindOf_library() {
|
| - Source source = _addSource("/test.dart", "library lib;");
|
| - expect(_context.getKindOf(source), same(SourceKind.UNKNOWN));
|
| - _context.computeKindOf(source);
|
| - expect(_context.getKindOf(source), same(SourceKind.LIBRARY));
|
| + Source source = addSource("/test.dart", "library lib;");
|
| + expect(context.getKindOf(source), same(SourceKind.UNKNOWN));
|
| + context.computeKindOf(source);
|
| + expect(context.getKindOf(source), same(SourceKind.LIBRARY));
|
| }
|
|
|
| void test_getKindOf_part() {
|
| - Source source = _addSource("/test.dart", "part of lib;");
|
| - expect(_context.getKindOf(source), same(SourceKind.UNKNOWN));
|
| - _context.computeKindOf(source);
|
| - expect(_context.getKindOf(source), same(SourceKind.PART));
|
| + Source source = addSource("/test.dart", "part of lib;");
|
| + expect(context.getKindOf(source), same(SourceKind.UNKNOWN));
|
| + context.computeKindOf(source);
|
| + expect(context.getKindOf(source), same(SourceKind.PART));
|
| }
|
|
|
| void test_getKindOf_unknown() {
|
| - Source source = _addSource("/test.css", "");
|
| - expect(_context.getKindOf(source), same(SourceKind.UNKNOWN));
|
| + Source source = addSource("/test.css", "");
|
| + expect(context.getKindOf(source), same(SourceKind.UNKNOWN));
|
| }
|
|
|
| void test_getLaunchableClientLibrarySources_doesNotImportHtml() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| main() {}''');
|
| - _context.computeLibraryElement(source);
|
| - List<Source> sources = _context.launchableClientLibrarySources;
|
| + context.computeLibraryElement(source);
|
| + List<Source> sources = context.launchableClientLibrarySources;
|
| expect(sources, isEmpty);
|
| }
|
|
|
| void test_getLaunchableClientLibrarySources_importsHtml_explicitly() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - List<Source> sources = _context.launchableClientLibrarySources;
|
| + List<Source> sources = context.launchableClientLibrarySources;
|
| expect(sources, isEmpty);
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| import 'dart:html';
|
| main() {}''');
|
| - _context.computeLibraryElement(source);
|
| - sources = _context.launchableClientLibrarySources;
|
| + context.computeLibraryElement(source);
|
| + sources = context.launchableClientLibrarySources;
|
| expect(sources, unorderedEquals([source]));
|
| }
|
|
|
| void test_getLaunchableClientLibrarySources_importsHtml_implicitly() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - List<Source> sources = _context.launchableClientLibrarySources;
|
| + List<Source> sources = context.launchableClientLibrarySources;
|
| expect(sources, isEmpty);
|
| - _addSource("/a.dart", r'''
|
| + addSource("/a.dart", r'''
|
| import 'dart:html';
|
| ''');
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| import 'a.dart';
|
| main() {}''');
|
| - _context.computeLibraryElement(source);
|
| - sources = _context.launchableClientLibrarySources;
|
| + context.computeLibraryElement(source);
|
| + sources = context.launchableClientLibrarySources;
|
| expect(sources, unorderedEquals([source]));
|
| }
|
|
|
| void test_getLaunchableClientLibrarySources_importsHtml_implicitly2() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - List<Source> sources = _context.launchableClientLibrarySources;
|
| + List<Source> sources = context.launchableClientLibrarySources;
|
| expect(sources, isEmpty);
|
| - _addSource("/a.dart", r'''
|
| + addSource("/a.dart", r'''
|
| export 'dart:html';
|
| ''');
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| import 'a.dart';
|
| main() {}''');
|
| - _context.computeLibraryElement(source);
|
| - sources = _context.launchableClientLibrarySources;
|
| + context.computeLibraryElement(source);
|
| + sources = context.launchableClientLibrarySources;
|
| expect(sources, unorderedEquals([source]));
|
| }
|
|
|
| void test_getLaunchableServerLibrarySources() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - expect(_context.launchableServerLibrarySources, isEmpty);
|
| - Source source = _addSource("/test.dart", "main() {}");
|
| - _context.computeLibraryElement(source);
|
| - expect(_context.launchableServerLibrarySources, unorderedEquals([source]));
|
| + expect(context.launchableServerLibrarySources, isEmpty);
|
| + Source source = addSource("/test.dart", "main() {}");
|
| + context.computeLibraryElement(source);
|
| + expect(context.launchableServerLibrarySources, unorderedEquals([source]));
|
| }
|
|
|
| void test_getLaunchableServerLibrarySources_importsHtml_explicitly() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| import 'dart:html';
|
| main() {}
|
| ''');
|
| - _context.computeLibraryElement(source);
|
| - expect(_context.launchableServerLibrarySources, isEmpty);
|
| + context.computeLibraryElement(source);
|
| + expect(context.launchableServerLibrarySources, isEmpty);
|
| }
|
|
|
| void test_getLaunchableServerLibrarySources_importsHtml_implicitly() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - _addSource("/imports_html.dart", r'''
|
| + addSource("/imports_html.dart", r'''
|
| import 'dart:html';
|
| ''');
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| import 'imports_html.dart';
|
| main() {}''');
|
| - _context.computeLibraryElement(source);
|
| - expect(_context.launchableServerLibrarySources, isEmpty);
|
| + context.computeLibraryElement(source);
|
| + expect(context.launchableServerLibrarySources, isEmpty);
|
| }
|
|
|
| void test_getLaunchableServerLibrarySources_noMain() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", '');
|
| - _context.computeLibraryElement(source);
|
| - expect(_context.launchableServerLibrarySources, isEmpty);
|
| + Source source = addSource("/test.dart", '');
|
| + context.computeLibraryElement(source);
|
| + expect(context.launchableServerLibrarySources, isEmpty);
|
| }
|
|
|
| void test_getLibrariesContaining() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source librarySource = _addSource("/lib.dart", r'''
|
| + Source librarySource = addSource("/lib.dart", r'''
|
| library lib;
|
| part 'part.dart';''');
|
| - Source partSource = _addSource("/part.dart", "part of lib;");
|
| - _context.computeLibraryElement(librarySource);
|
| - List<Source> result = _context.getLibrariesContaining(librarySource);
|
| + Source partSource = addSource("/part.dart", "part of lib;");
|
| + context.computeLibraryElement(librarySource);
|
| + List<Source> result = context.getLibrariesContaining(librarySource);
|
| expect(result, hasLength(1));
|
| expect(result[0], librarySource);
|
| - result = _context.getLibrariesContaining(partSource);
|
| + result = context.getLibrariesContaining(partSource);
|
| expect(result, hasLength(1));
|
| expect(result[0], librarySource);
|
| }
|
|
|
| void test_getLibrariesDependingOn() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source libASource = _addSource("/libA.dart", "library libA;");
|
| - _addSource("/libB.dart", "library libB;");
|
| - Source lib1Source = _addSource("/lib1.dart", r'''
|
| + Source libASource = addSource("/libA.dart", "library libA;");
|
| + addSource("/libB.dart", "library libB;");
|
| + Source lib1Source = addSource("/lib1.dart", r'''
|
| library lib1;
|
| import 'libA.dart';
|
| export 'libB.dart';''');
|
| - Source lib2Source = _addSource("/lib2.dart", r'''
|
| + Source lib2Source = addSource("/lib2.dart", r'''
|
| library lib2;
|
| import 'libB.dart';
|
| export 'libA.dart';''');
|
| - _context.computeLibraryElement(lib1Source);
|
| - _context.computeLibraryElement(lib2Source);
|
| - List<Source> result = _context.getLibrariesDependingOn(libASource);
|
| + context.computeLibraryElement(lib1Source);
|
| + context.computeLibraryElement(lib2Source);
|
| + List<Source> result = context.getLibrariesDependingOn(libASource);
|
| expect(result, unorderedEquals([lib1Source, lib2Source]));
|
| }
|
|
|
| void test_getLibrariesReferencedFromHtml_no() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source htmlSource = _addSource("/test.html", r'''
|
| + Source htmlSource = addSource("/test.html", r'''
|
| <html><head>
|
| <script type='application/dart' src='test.js'/>
|
| </head></html>''');
|
| - _addSource("/test.dart", "library lib;");
|
| - _context.parseHtmlUnit(htmlSource);
|
| - List<Source> result = _context.getLibrariesReferencedFromHtml(htmlSource);
|
| + addSource("/test.dart", "library lib;");
|
| + context.parseHtmlUnit(htmlSource);
|
| + List<Source> result = context.getLibrariesReferencedFromHtml(htmlSource);
|
| expect(result, hasLength(0));
|
| }
|
|
|
| void test_getLibraryElement() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", "library lib;");
|
| - LibraryElement element = _context.getLibraryElement(source);
|
| + Source source = addSource("/test.dart", "library lib;");
|
| + LibraryElement element = context.getLibraryElement(source);
|
| expect(element, isNull);
|
| - _context.computeLibraryElement(source);
|
| - element = _context.getLibraryElement(source);
|
| + context.computeLibraryElement(source);
|
| + element = context.getLibraryElement(source);
|
| expect(element, isNotNull);
|
| }
|
|
|
| void test_getLibrarySources() {
|
| - List<Source> sources = _context.librarySources;
|
| + List<Source> sources = context.librarySources;
|
| int originalLength = sources.length;
|
| - Source source = _addSource("/test.dart", "library lib;");
|
| - _context.computeKindOf(source);
|
| - sources = _context.librarySources;
|
| + Source source = addSource("/test.dart", "library lib;");
|
| + context.computeKindOf(source);
|
| + sources = context.librarySources;
|
| expect(sources, hasLength(originalLength + 1));
|
| for (Source returnedSource in sources) {
|
| if (returnedSource == source) {
|
| @@ -1689,20 +1495,20 @@ export 'libA.dart';''');
|
| }
|
|
|
| void test_getLineInfo() {
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| library lib;
|
|
|
| main() {}''');
|
| - LineInfo info = _context.getLineInfo(source);
|
| + LineInfo info = context.getLineInfo(source);
|
| expect(info, isNull);
|
| - _context.parseCompilationUnit(source);
|
| - info = _context.getLineInfo(source);
|
| + context.parseCompilationUnit(source);
|
| + info = context.getLineInfo(source);
|
| expect(info, isNotNull);
|
| }
|
|
|
| void test_getModificationStamp_fromSource() {
|
| int stamp = 42;
|
| - expect(_context.getModificationStamp(
|
| + expect(context.getModificationStamp(
|
| new AnalysisContextImplTest_Source_getModificationStamp_fromSource(
|
| stamp)), stamp);
|
| }
|
| @@ -1712,49 +1518,41 @@ main() {}''');
|
| Source source =
|
| new AnalysisContextImplTest_Source_getModificationStamp_overridden(
|
| stamp);
|
| - _context.setContents(source, "");
|
| - expect(stamp != _context.getModificationStamp(source), isTrue);
|
| + context.setContents(source, "");
|
| + expect(stamp != context.getModificationStamp(source), isTrue);
|
| }
|
|
|
| void test_getPublicNamespace_element() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", "class A {}");
|
| - LibraryElement library = _context.computeLibraryElement(source);
|
| + Source source = addSource("/test.dart", "class A {}");
|
| + LibraryElement library = context.computeLibraryElement(source);
|
| expect(library, isNotNull);
|
| - Namespace namespace = _context.getPublicNamespace(library);
|
| + Namespace namespace = context.getPublicNamespace(library);
|
| expect(namespace, isNotNull);
|
| EngineTestCase.assertInstanceOf(
|
| (obj) => obj is ClassElement, ClassElement, namespace.get("A"));
|
| }
|
|
|
| void test_getResolvedCompilationUnit_library_null() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| - expect(_context.getResolvedCompilationUnit(source, null), isNull);
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| + expect(context.getResolvedCompilationUnit(source, null), isNull);
|
| }
|
|
|
| void test_getResolvedCompilationUnit_source_dart() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| - expect(_context.getResolvedCompilationUnit2(source, source), isNull);
|
| - _context.resolveCompilationUnit2(source, source);
|
| - expect(_context.getResolvedCompilationUnit2(source, source), isNotNull);
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| + expect(context.getResolvedCompilationUnit2(source, source), isNull);
|
| + context.resolveCompilationUnit2(source, source);
|
| + expect(context.getResolvedCompilationUnit2(source, source), isNotNull);
|
| }
|
|
|
| void test_getResolvedCompilationUnit_source_html() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - expect(_context.getResolvedCompilationUnit2(source, source), isNull);
|
| - expect(_context.resolveCompilationUnit2(source, source), isNull);
|
| - expect(_context.getResolvedCompilationUnit2(source, source), isNull);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + expect(context.getResolvedCompilationUnit2(source, source), isNull);
|
| + expect(context.resolveCompilationUnit2(source, source), isNull);
|
| + expect(context.getResolvedCompilationUnit2(source, source), isNull);
|
| }
|
|
|
| void test_getSourceFactory() {
|
| - expect(_context.sourceFactory, same(_sourceFactory));
|
| + expect(context.sourceFactory, same(sourceFactory));
|
| }
|
|
|
| void test_getSourcesWithFullName() {
|
| @@ -1772,13 +1570,12 @@ main() {}''');
|
| expected.add(source2);
|
| changeSet.addedSource(source2);
|
|
|
| - _context.applyChanges(changeSet);
|
| - expect(
|
| - _context.getSourcesWithFullName(filePath), unorderedEquals(expected));
|
| + context.applyChanges(changeSet);
|
| + expect(context.getSourcesWithFullName(filePath), unorderedEquals(expected));
|
| }
|
|
|
| void test_getStatistics() {
|
| - AnalysisContextStatistics statistics = _context.statistics;
|
| + AnalysisContextStatistics statistics = context.statistics;
|
| expect(statistics, isNotNull);
|
| // The following lines are fragile.
|
| // The values depend on the number of libraries in the SDK.
|
| @@ -1788,48 +1585,44 @@ main() {}''');
|
| }
|
|
|
| void test_isClientLibrary_dart() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| import 'dart:html';
|
|
|
| main() {}''');
|
| - expect(_context.isClientLibrary(source), isFalse);
|
| - expect(_context.isServerLibrary(source), isFalse);
|
| - _context.computeLibraryElement(source);
|
| - expect(_context.isClientLibrary(source), isTrue);
|
| - expect(_context.isServerLibrary(source), isFalse);
|
| + expect(context.isClientLibrary(source), isFalse);
|
| + expect(context.isServerLibrary(source), isFalse);
|
| + context.computeLibraryElement(source);
|
| + expect(context.isClientLibrary(source), isTrue);
|
| + expect(context.isServerLibrary(source), isFalse);
|
| }
|
|
|
| void test_isClientLibrary_html() {
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - expect(_context.isClientLibrary(source), isFalse);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + expect(context.isClientLibrary(source), isFalse);
|
| }
|
|
|
| void test_isServerLibrary_dart() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/test.dart", r'''
|
| + Source source = addSource("/test.dart", r'''
|
| library lib;
|
|
|
| main() {}''');
|
| - expect(_context.isClientLibrary(source), isFalse);
|
| - expect(_context.isServerLibrary(source), isFalse);
|
| - _context.computeLibraryElement(source);
|
| - expect(_context.isClientLibrary(source), isFalse);
|
| - expect(_context.isServerLibrary(source), isTrue);
|
| + expect(context.isClientLibrary(source), isFalse);
|
| + expect(context.isServerLibrary(source), isFalse);
|
| + context.computeLibraryElement(source);
|
| + expect(context.isClientLibrary(source), isFalse);
|
| + expect(context.isServerLibrary(source), isTrue);
|
| }
|
|
|
| void test_isServerLibrary_html() {
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - expect(_context.isServerLibrary(source), isFalse);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + expect(context.isServerLibrary(source), isFalse);
|
| }
|
|
|
| void test_parseCompilationUnit_errors() {
|
| - Source source = _addSource("/lib.dart", "library {");
|
| - CompilationUnit compilationUnit = _context.parseCompilationUnit(source);
|
| + Source source = addSource("/lib.dart", "library {");
|
| + CompilationUnit compilationUnit = context.parseCompilationUnit(source);
|
| expect(compilationUnit, isNotNull);
|
| - var errorInfo = _context.getErrors(source);
|
| + var errorInfo = context.getErrors(source);
|
| expect(errorInfo, isNotNull);
|
| List<AnalysisError> errors = errorInfo.errors;
|
| expect(errors, isNotNull);
|
| @@ -1839,7 +1632,7 @@ main() {}''');
|
| void test_parseCompilationUnit_exception() {
|
| Source source = _addSourceWithException("/test.dart");
|
| try {
|
| - _context.parseCompilationUnit(source);
|
| + context.parseCompilationUnit(source);
|
| fail("Expected AnalysisException");
|
| } on AnalysisException {
|
| // Expected
|
| @@ -1847,24 +1640,24 @@ main() {}''');
|
| }
|
|
|
| void test_parseCompilationUnit_html() {
|
| - Source source = _addSource("/test.html", "<html></html>");
|
| - expect(_context.parseCompilationUnit(source), isNull);
|
| + Source source = addSource("/test.html", "<html></html>");
|
| + expect(context.parseCompilationUnit(source), isNull);
|
| }
|
|
|
| void test_parseCompilationUnit_noErrors() {
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| - CompilationUnit compilationUnit = _context.parseCompilationUnit(source);
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| + CompilationUnit compilationUnit = context.parseCompilationUnit(source);
|
| expect(compilationUnit, isNotNull);
|
| - AnalysisErrorInfo errorInfo = _context.getErrors(source);
|
| + AnalysisErrorInfo errorInfo = context.getErrors(source);
|
| expect(errorInfo, isNotNull);
|
| expect(errorInfo.errors, hasLength(0));
|
| }
|
|
|
| void test_parseCompilationUnit_nonExistentSource() {
|
| - Source source =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test.dart"));
|
| + Source source = newSource('/test.dart');
|
| + resourceProvider.deleteFile('/test.dart');
|
| try {
|
| - _context.parseCompilationUnit(source);
|
| + context.parseCompilationUnit(source);
|
| fail("Expected AnalysisException because file does not exist");
|
| } on AnalysisException {
|
| // Expected result
|
| @@ -1901,22 +1694,18 @@ main() {}''');
|
| }
|
|
|
| void test_resolveCompilationUnit_library() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| - LibraryElement library = _context.computeLibraryElement(source);
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| + LibraryElement library = context.computeLibraryElement(source);
|
| CompilationUnit compilationUnit =
|
| - _context.resolveCompilationUnit(source, library);
|
| + context.resolveCompilationUnit(source, library);
|
| expect(compilationUnit, isNotNull);
|
| expect(compilationUnit.element, isNotNull);
|
| }
|
|
|
| void test_resolveCompilationUnit_source() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| CompilationUnit compilationUnit =
|
| - _context.resolveCompilationUnit2(source, source);
|
| + context.resolveCompilationUnit2(source, source);
|
| expect(compilationUnit, isNotNull);
|
| }
|
|
|
| @@ -1925,70 +1714,66 @@ main() {}''');
|
| options.cacheSize = 42;
|
| options.dart2jsHint = false;
|
| options.hint = false;
|
| - _context.analysisOptions = options;
|
| - AnalysisOptions result = _context.analysisOptions;
|
| + context.analysisOptions = options;
|
| + AnalysisOptions result = context.analysisOptions;
|
| expect(result.cacheSize, options.cacheSize);
|
| expect(result.dart2jsHint, options.dart2jsHint);
|
| expect(result.hint, options.hint);
|
| }
|
|
|
| void test_setAnalysisPriorityOrder_empty() {
|
| - _context.analysisPriorityOrder = new List<Source>();
|
| + context.analysisPriorityOrder = new List<Source>();
|
| }
|
|
|
| void test_setAnalysisPriorityOrder_nonEmpty() {
|
| List<Source> sources = new List<Source>();
|
| - sources.add(_addSource("/lib.dart", "library lib;"));
|
| - _context.analysisPriorityOrder = sources;
|
| + sources.add(addSource("/lib.dart", "library lib;"));
|
| + context.analysisPriorityOrder = sources;
|
| }
|
|
|
| void test_setChangedContents_notResolved() {
|
| - _context = contextWithCore();
|
| AnalysisOptionsImpl options =
|
| - new AnalysisOptionsImpl.con1(_context.analysisOptions);
|
| + new AnalysisOptionsImpl.con1(context.analysisOptions);
|
| options.incremental = true;
|
| - _context.analysisOptions = options;
|
| - _sourceFactory = _context.sourceFactory;
|
| + context.analysisOptions = options;
|
| String oldCode = r'''
|
| library lib;
|
| int a = 0;''';
|
| - Source librarySource = _addSource("/lib.dart", oldCode);
|
| + Source librarySource = addSource("/lib.dart", oldCode);
|
| int offset = oldCode.indexOf("int a") + 4;
|
| String newCode = r'''
|
| library lib;
|
| int ya = 0;''';
|
| - _context.setChangedContents(librarySource, newCode, offset, 0, 1);
|
| - expect(_context.getContents(librarySource).data, newCode);
|
| - expect(_getIncrementalAnalysisCache(_context), isNull);
|
| + context.setChangedContents(librarySource, newCode, offset, 0, 1);
|
| + expect(context.getContents(librarySource).data, newCode);
|
| + expect(_getIncrementalAnalysisCache(context), isNull);
|
| }
|
|
|
| Future test_setContents_libraryWithPart() {
|
| - _context = contextWithCore();
|
| SourcesChangedListener listener = new SourcesChangedListener();
|
| - _context.onSourcesChanged.listen(listener.onData);
|
| - _sourceFactory = _context.sourceFactory;
|
| + context.onSourcesChanged.listen(listener.onData);
|
| String libraryContents1 = r'''
|
| library lib;
|
| part 'part.dart';
|
| int a = 0;''';
|
| - Source librarySource = _addSource("/lib.dart", libraryContents1);
|
| + Source librarySource = addSource("/lib.dart", libraryContents1);
|
| String partContents1 = r'''
|
| part of lib;
|
| int b = a;''';
|
| - Source partSource = _addSource("/part.dart", partContents1);
|
| - _context.computeLibraryElement(librarySource);
|
| + Source partSource = addSource("/part.dart", partContents1);
|
| + context.computeLibraryElement(librarySource);
|
| IncrementalAnalysisCache incrementalCache = new IncrementalAnalysisCache(
|
| librarySource, librarySource, null, null, null, 0, 0, 0);
|
| - _setIncrementalAnalysisCache(_context, incrementalCache);
|
| - expect(_getIncrementalAnalysisCache(_context), same(incrementalCache));
|
| + _setIncrementalAnalysisCache(context, incrementalCache);
|
| + expect(_getIncrementalAnalysisCache(context), same(incrementalCache));
|
| String libraryContents2 = r'''
|
| library lib;
|
| part 'part.dart';
|
| int aa = 0;''';
|
| - _context.setContents(librarySource, libraryContents2);
|
| - expect(_context.getResolvedCompilationUnit2(partSource, librarySource),
|
| - isNull);
|
| - expect(_getIncrementalAnalysisCache(_context), isNull);
|
| + context.setContents(librarySource, libraryContents2);
|
| + expect(
|
| + context.getResolvedCompilationUnit2(partSource, librarySource), isNull);
|
| + expect(_getIncrementalAnalysisCache(context), isNull);
|
| return pumpEventQueue().then((_) {
|
| listener.assertEvent(wereSourcesAdded: true);
|
| listener.assertEvent(changedSources: [librarySource]);
|
| @@ -2000,53 +1785,48 @@ int aa = 0;''';
|
| }
|
|
|
| void test_setContents_null() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source librarySource = _addSource("/lib.dart", r'''
|
| + Source librarySource = addSource("/lib.dart", r'''
|
| library lib;
|
| int a = 0;''');
|
| - _context.computeLibraryElement(librarySource);
|
| + context.computeLibraryElement(librarySource);
|
| IncrementalAnalysisCache incrementalCache = new IncrementalAnalysisCache(
|
| librarySource, librarySource, null, null, null, 0, 0, 0);
|
| - _setIncrementalAnalysisCache(_context, incrementalCache);
|
| - expect(_getIncrementalAnalysisCache(_context), same(incrementalCache));
|
| - _context.setContents(librarySource, null);
|
| - expect(_context.getResolvedCompilationUnit2(librarySource, librarySource),
|
| + _setIncrementalAnalysisCache(context, incrementalCache);
|
| + expect(_getIncrementalAnalysisCache(context), same(incrementalCache));
|
| + context.setContents(librarySource, null);
|
| + expect(context.getResolvedCompilationUnit2(librarySource, librarySource),
|
| isNull);
|
| - expect(_getIncrementalAnalysisCache(_context), isNull);
|
| + expect(_getIncrementalAnalysisCache(context), isNull);
|
| }
|
|
|
| void test_setSourceFactory() {
|
| - expect(_context.sourceFactory, _sourceFactory);
|
| + expect(context.sourceFactory, sourceFactory);
|
| SourceFactory factory = new SourceFactory([]);
|
| - _context.sourceFactory = factory;
|
| - expect(_context.sourceFactory, factory);
|
| + context.sourceFactory = factory;
|
| + expect(context.sourceFactory, factory);
|
| }
|
|
|
| void test_updateAnalysis() {
|
| - expect(_context.sourcesNeedingProcessing, isEmpty);
|
| - Source source =
|
| - new FileBasedSource.con1(FileUtilities2.createFile("/test.dart"));
|
| + expect(context.sourcesNeedingProcessing, isEmpty);
|
| + Source source = newSource('/test.dart');
|
| AnalysisDelta delta = new AnalysisDelta();
|
| delta.setAnalysisLevel(source, AnalysisLevel.ALL);
|
| - _context.applyAnalysisDelta(delta);
|
| - expect(_context.sourcesNeedingProcessing, contains(source));
|
| + context.applyAnalysisDelta(delta);
|
| + expect(context.sourcesNeedingProcessing, contains(source));
|
| delta = new AnalysisDelta();
|
| delta.setAnalysisLevel(source, AnalysisLevel.NONE);
|
| - _context.applyAnalysisDelta(delta);
|
| - expect(_context.sourcesNeedingProcessing.contains(source), isFalse);
|
| + context.applyAnalysisDelta(delta);
|
| + expect(context.sourcesNeedingProcessing.contains(source), isFalse);
|
| }
|
|
|
| Future xtest_computeResolvedCompilationUnitAsync() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| // Complete all pending analysis tasks and flush the AST so that it won't
|
| // be available immediately.
|
| _performPendingAnalysisTasks();
|
| _flushAst(source);
|
| bool completed = false;
|
| - _context
|
| + context
|
| .computeResolvedCompilationUnitAsync(source, source)
|
| .then((CompilationUnit unit) {
|
| expect(unit, isNotNull);
|
| @@ -2061,15 +1841,13 @@ int a = 0;''');
|
| }
|
|
|
| Future xtest_computeResolvedCompilationUnitAsync_cancel() {
|
| - _context = contextWithCore();
|
| - _sourceFactory = _context.sourceFactory;
|
| - Source source = _addSource("/lib.dart", "library lib;");
|
| + Source source = addSource("/lib.dart", "library lib;");
|
| // Complete all pending analysis tasks and flush the AST so that it won't
|
| // be available immediately.
|
| _performPendingAnalysisTasks();
|
| _flushAst(source);
|
| CancelableFuture<CompilationUnit> future =
|
| - _context.computeResolvedCompilationUnitAsync(source, source);
|
| + context.computeResolvedCompilationUnitAsync(source, source);
|
| bool completed = false;
|
| future.then((CompilationUnit unit) {
|
| fail('Future should have been canceled');
|
| @@ -2078,55 +1856,45 @@ int a = 0;''');
|
| completed = true;
|
| });
|
| expect(completed, isFalse);
|
| - expect(_context.pendingFutureSources_forTesting, isNotEmpty);
|
| + expect(context.pendingFutureSources_forTesting, isNotEmpty);
|
| future.cancel();
|
| - expect(_context.pendingFutureSources_forTesting, isEmpty);
|
| + expect(context.pendingFutureSources_forTesting, isEmpty);
|
| return pumpEventQueue().then((_) {
|
| expect(completed, isTrue);
|
| - expect(_context.pendingFutureSources_forTesting, isEmpty);
|
| + expect(context.pendingFutureSources_forTesting, isEmpty);
|
| });
|
| }
|
|
|
| void xtest_performAnalysisTask_stress() {
|
| int maxCacheSize = 4;
|
| AnalysisOptionsImpl options =
|
| - new AnalysisOptionsImpl.con1(_context.analysisOptions);
|
| + new AnalysisOptionsImpl.con1(context.analysisOptions);
|
| options.cacheSize = maxCacheSize;
|
| - _context.analysisOptions = options;
|
| + context.analysisOptions = options;
|
| int sourceCount = maxCacheSize + 2;
|
| List<Source> sources = new List<Source>();
|
| ChangeSet changeSet = new ChangeSet();
|
| for (int i = 0; i < sourceCount; i++) {
|
| - Source source = _addSource("/lib$i.dart", "library lib$i;");
|
| + Source source = addSource("/lib$i.dart", "library lib$i;");
|
| sources.add(source);
|
| changeSet.addedSource(source);
|
| }
|
| - _context.applyChanges(changeSet);
|
| - _context.analysisPriorityOrder = sources;
|
| + context.applyChanges(changeSet);
|
| + context.analysisPriorityOrder = sources;
|
| for (int i = 0; i < 1000; i++) {
|
| - List<ChangeNotice> notice = _context.performAnalysisTask().changeNotices;
|
| + List<ChangeNotice> notice = context.performAnalysisTask().changeNotices;
|
| if (notice == null) {
|
| //System.out.println("test_performAnalysisTask_stress: " + i);
|
| break;
|
| }
|
| }
|
| - List<ChangeNotice> notice = _context.performAnalysisTask().changeNotices;
|
| + List<ChangeNotice> notice = context.performAnalysisTask().changeNotices;
|
| if (notice != null) {
|
| fail(
|
| "performAnalysisTask failed to terminate after analyzing all sources");
|
| }
|
| }
|
|
|
| - Source _addSource(String fileName, String contents) {
|
| - Source source =
|
| - new FileBasedSource.con1(FileUtilities2.createFile(fileName));
|
| - ChangeSet changeSet = new ChangeSet();
|
| - changeSet.addedSource(source);
|
| - _context.applyChanges(changeSet);
|
| - _context.setContents(source, contents);
|
| - return source;
|
| - }
|
| -
|
| TestSource _addSourceWithException(String fileName) {
|
| return _addSourceWithException2(fileName, "");
|
| }
|
| @@ -2136,7 +1904,7 @@ int a = 0;''');
|
| source.generateExceptionOnRead = true;
|
| ChangeSet changeSet = new ChangeSet();
|
| changeSet.addedSource(source);
|
| - _context.applyChanges(changeSet);
|
| + context.applyChanges(changeSet);
|
| return source;
|
| }
|
|
|
| @@ -2154,7 +1922,7 @@ int a = 0;''');
|
| */
|
| void _analyzeAll_assertFinished2(int maxIterations) {
|
| for (int i = 0; i < maxIterations; i++) {
|
| - List<ChangeNotice> notice = _context.performAnalysisTask().changeNotices;
|
| + List<ChangeNotice> notice = context.performAnalysisTask().changeNotices;
|
| if (notice == null) {
|
| return;
|
| }
|
| @@ -2166,7 +1934,7 @@ int a = 0;''');
|
| source.setContents(contents);
|
| ChangeSet changeSet = new ChangeSet();
|
| changeSet.changedSource(source);
|
| - _context.applyChanges(changeSet);
|
| + context.applyChanges(changeSet);
|
| }
|
|
|
| /**
|
| @@ -2187,7 +1955,7 @@ int a = 0;''');
|
| }
|
|
|
| void _flushAst(Source source) {
|
| - CacheEntry entry = _context.getReadableSourceEntryOrNull(source);
|
| + CacheEntry entry = context.getReadableSourceEntryOrNull(source);
|
| entry.setState(RESOLVED_UNIT, CacheState.FLUSHED);
|
| }
|
|
|
| @@ -2201,7 +1969,7 @@ int a = 0;''');
|
| }
|
|
|
| void _performPendingAnalysisTasks([int maxTasks = 20]) {
|
| - for (int i = 0; _context.performAnalysisTask().hasMoreWork; i++) {
|
| + for (int i = 0; context.performAnalysisTask().hasMoreWork; i++) {
|
| if (i > maxTasks) {
|
| fail('Analysis did not terminate.');
|
| }
|
| @@ -2211,7 +1979,7 @@ int a = 0;''');
|
| void _removeSource(Source source) {
|
| ChangeSet changeSet = new ChangeSet();
|
| changeSet.removedSource(source);
|
| - _context.applyChanges(changeSet);
|
| + context.applyChanges(changeSet);
|
| }
|
|
|
| void _setIncrementalAnalysisCache(
|
|
|