Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: pkg/analyzer/test/src/dart/analysis/base.dart

Issue 2829253002: Add support for external summaries bundle in AnalysisDriver. (Closed)
Patch Set: Fixes for review comments. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'package:analyzer/dart/element/element.dart'; 5 import 'package:analyzer/dart/element/element.dart';
6 import 'package:analyzer/dart/element/visitor.dart'; 6 import 'package:analyzer/dart/element/visitor.dart';
7 import 'package:analyzer/file_system/file_system.dart'; 7 import 'package:analyzer/file_system/file_system.dart';
8 import 'package:analyzer/file_system/memory_file_system.dart'; 8 import 'package:analyzer/file_system/memory_file_system.dart';
9 import 'package:analyzer/source/package_map_resolver.dart'; 9 import 'package:analyzer/source/package_map_resolver.dart';
10 import 'package:analyzer/src/dart/analysis/byte_store.dart'; 10 import 'package:analyzer/src/dart/analysis/byte_store.dart';
11 import 'package:analyzer/src/dart/analysis/driver.dart'; 11 import 'package:analyzer/src/dart/analysis/driver.dart';
12 import 'package:analyzer/src/dart/analysis/file_state.dart'; 12 import 'package:analyzer/src/dart/analysis/file_state.dart';
13 import 'package:analyzer/src/dart/analysis/status.dart'; 13 import 'package:analyzer/src/dart/analysis/status.dart';
14 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl; 14 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
15 import 'package:analyzer/src/generated/sdk.dart'; 15 import 'package:analyzer/src/generated/sdk.dart';
16 import 'package:analyzer/src/generated/source.dart'; 16 import 'package:analyzer/src/generated/source.dart';
17 import 'package:analyzer/src/summary/package_bundle_reader.dart';
17 import 'package:test/test.dart'; 18 import 'package:test/test.dart';
18 import 'package:typed_mock/typed_mock.dart'; 19 import 'package:typed_mock/typed_mock.dart';
19 20
20 import '../../context/mock_sdk.dart'; 21 import '../../context/mock_sdk.dart';
21 22
22 /** 23 /**
23 * Finds an [Element] with the given [name]. 24 * Finds an [Element] with the given [name].
24 */ 25 */
25 Element findChildElement(Element root, String name, [ElementKind kind]) { 26 Element findChildElement(Element root, String name, [ElementKind kind]) {
26 Element result = null; 27 Element result = null;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 68
68 void addTestFile(String content, {bool priority: false}) { 69 void addTestFile(String content, {bool priority: false}) {
69 testCode = content; 70 testCode = content;
70 provider.newFile(testFile, content); 71 provider.newFile(testFile, content);
71 driver.addFile(testFile); 72 driver.addFile(testFile);
72 if (priority) { 73 if (priority) {
73 driver.priorityFiles = [testFile]; 74 driver.priorityFiles = [testFile];
74 } 75 }
75 } 76 }
76 77
78 AnalysisDriver createAnalysisDriver({SummaryDataStore externalSummaries}) {
79 return new AnalysisDriver(
80 scheduler,
81 logger,
82 provider,
83 byteStore,
84 contentOverlay,
85 null,
86 new SourceFactory([
87 new DartUriResolver(sdk),
88 generatedUriResolver,
89 new PackageMapUriResolver(provider, <String, List<Folder>>{
90 'test': [provider.getFolder(testProject)]
91 }),
92 new ResourceUriResolver(provider)
93 ], null, provider),
94 new AnalysisOptionsImpl()
95 ..strongMode = true
96 ..enableUriInPartOf = true,
97 disableChangesAndCacheAllResults: disableChangesAndCacheAllResults,
98 externalSummaries: externalSummaries);
99 }
100
77 int findOffset(String search) { 101 int findOffset(String search) {
78 int offset = testCode.indexOf(search); 102 int offset = testCode.indexOf(search);
79 if (offset < 0) { 103 if (offset < 0) {
80 fail("Did not find '$search' in\n$testCode"); 104 fail("Did not find '$search' in\n$testCode");
81 } 105 }
82 return offset; 106 return offset;
83 } 107 }
84 108
85 int getLeadingIdentifierLength(String search) { 109 int getLeadingIdentifierLength(String search) {
86 int length = 0; 110 int length = 0;
(...skipping 15 matching lines...) Expand all
102 } 126 }
103 return length; 127 return length;
104 } 128 }
105 129
106 void setUp() { 130 void setUp() {
107 sdk = new MockSdk(resourceProvider: provider); 131 sdk = new MockSdk(resourceProvider: provider);
108 testProject = _p('/test/lib'); 132 testProject = _p('/test/lib');
109 testFile = _p('/test/lib/test.dart'); 133 testFile = _p('/test/lib/test.dart');
110 logger = new PerformanceLog(logBuffer); 134 logger = new PerformanceLog(logBuffer);
111 scheduler = new AnalysisDriverScheduler(logger); 135 scheduler = new AnalysisDriverScheduler(logger);
112 driver = new AnalysisDriver( 136 driver = createAnalysisDriver();
113 scheduler,
114 logger,
115 provider,
116 byteStore,
117 contentOverlay,
118 null,
119 new SourceFactory([
120 new DartUriResolver(sdk),
121 generatedUriResolver,
122 new PackageMapUriResolver(provider, <String, List<Folder>>{
123 'test': [provider.getFolder(testProject)]
124 }),
125 new ResourceUriResolver(provider)
126 ], null, provider),
127 new AnalysisOptionsImpl()
128 ..strongMode = true
129 ..enableUriInPartOf = true,
130 disableChangesAndCacheAllResults: disableChangesAndCacheAllResults);
131 scheduler.start(); 137 scheduler.start();
132 scheduler.status.listen(allStatuses.add); 138 scheduler.status.listen(allStatuses.add);
133 driver.results.listen(allResults.add); 139 driver.results.listen(allResults.add);
134 driver.exceptions.listen(allExceptions.add); 140 driver.exceptions.listen(allExceptions.add);
135 } 141 }
136 142
137 String _p(String path) => provider.convertPath(path); 143 String _p(String path) => provider.convertPath(path);
138 } 144 }
139 145
140 /** 146 /**
141 * Wraps an [_ElementVisitorFunction] into a [GeneralizingElementVisitor]. 147 * Wraps an [_ElementVisitorFunction] into a [GeneralizingElementVisitor].
142 */ 148 */
143 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor { 149 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor {
144 final _ElementVisitorFunction function; 150 final _ElementVisitorFunction function;
145 151
146 _ElementVisitorFunctionWrapper(this.function); 152 _ElementVisitorFunctionWrapper(this.function);
147 153
148 visitElement(Element element) { 154 visitElement(Element element) {
149 function(element); 155 function(element);
150 super.visitElement(element); 156 super.visitElement(element);
151 } 157 }
152 } 158 }
153 159
154 class _GeneratedUriResolverMock extends TypedMock implements UriResolver {} 160 class _GeneratedUriResolverMock extends TypedMock implements UriResolver {}
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/package_bundle_reader.dart ('k') | pkg/analyzer/test/src/dart/analysis/driver_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698