Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library operation.analysis; | 5 library operation.analysis; |
| 6 | 6 |
| 7 import 'package:analysis_server/src/analysis_server.dart'; | 7 import 'package:analysis_server/src/analysis_server.dart'; |
| 8 import 'package:analysis_server/src/computer/computer_highlights.dart'; | 8 import 'package:analysis_server/src/computer/computer_highlights.dart'; |
| 9 import 'package:analysis_server/src/computer/computer_navigation.dart'; | 9 import 'package:analysis_server/src/computer/computer_navigation.dart'; |
| 10 import 'package:analysis_server/src/computer/computer_occurrences.dart'; | 10 import 'package:analysis_server/src/computer/computer_occurrences.dart'; |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 257 options.cacheSize = cacheSize; | 257 options.cacheSize = cacheSize; |
| 258 context.analysisOptions = options; | 258 context.analysisOptions = options; |
| 259 } | 259 } |
| 260 | 260 |
| 261 void _updateIndex(AnalysisServer server, List<ChangeNotice> notices) { | 261 void _updateIndex(AnalysisServer server, List<ChangeNotice> notices) { |
| 262 Index index = server.index; | 262 Index index = server.index; |
| 263 if (index == null) { | 263 if (index == null) { |
| 264 return; | 264 return; |
| 265 } | 265 } |
| 266 for (ChangeNotice notice in notices) { | 266 for (ChangeNotice notice in notices) { |
| 267 String file = notice.source.fullName; | |
| 267 // Dart | 268 // Dart |
| 268 try { | 269 try { |
| 269 CompilationUnit dartUnit = notice.resolvedDartUnit; | 270 CompilationUnit dartUnit = notice.resolvedDartUnit; |
| 270 if (dartUnit != null) { | 271 if (dartUnit != null) { |
| 271 server.addOperation(new _DartIndexOperation(context, dartUnit)); | 272 server.addOperation(new _DartIndexOperation(context, file, dartUnit)); |
| 272 } | 273 } |
| 273 } catch (exception, stackTrace) { | 274 } catch (exception, stackTrace) { |
| 274 server.sendServerErrorNotification(exception, stackTrace); | 275 server.sendServerErrorNotification(exception, stackTrace); |
| 275 } | 276 } |
| 276 // HTML | 277 // HTML |
| 277 try { | 278 try { |
| 278 HtmlUnit htmlUnit = notice.resolvedHtmlUnit; | 279 HtmlUnit htmlUnit = notice.resolvedHtmlUnit; |
| 279 if (htmlUnit != null) { | 280 if (htmlUnit != null) { |
| 280 server.addOperation(new _HtmlIndexOperation(context, htmlUnit)); | 281 server.addOperation(new _HtmlIndexOperation(context, file, htmlUnit)); |
| 281 } | 282 } |
| 282 } catch (exception, stackTrace) { | 283 } catch (exception, stackTrace) { |
| 283 server.sendServerErrorNotification(exception, stackTrace); | 284 server.sendServerErrorNotification(exception, stackTrace); |
| 284 } | 285 } |
| 285 } | 286 } |
| 286 } | 287 } |
| 287 } | 288 } |
| 288 | 289 |
| 289 | 290 |
| 290 class _DartHighlightsOperation extends _DartNotificationOperation { | 291 class _DartHighlightsOperation extends _DartNotificationOperation { |
| 291 _DartHighlightsOperation(String file, CompilationUnit unit) | 292 _DartHighlightsOperation(String file, CompilationUnit unit) |
| 292 : super(file, unit); | 293 : super(file, unit); |
| 293 | 294 |
| 294 @override | 295 @override |
| 295 void perform(AnalysisServer server) { | 296 void perform(AnalysisServer server) { |
| 296 sendAnalysisNotificationHighlights(server, file, unit); | 297 sendAnalysisNotificationHighlights(server, file, unit); |
| 297 } | 298 } |
| 298 } | 299 } |
| 299 | 300 |
| 300 | 301 |
| 301 class _DartIndexOperation extends ServerOperation { | 302 class _DartIndexOperation extends _SingleFileOperation { |
| 302 final AnalysisContext context; | 303 final AnalysisContext context; |
| 303 final CompilationUnit unit; | 304 final CompilationUnit unit; |
| 304 | 305 |
| 305 _DartIndexOperation(this.context, this.unit); | 306 _DartIndexOperation(this.context, String file, this.unit) : super(file); |
| 306 | 307 |
| 307 @override | 308 @override |
| 308 ServerOperationPriority get priority { | 309 ServerOperationPriority get priority { |
| 309 return ServerOperationPriority.ANALYSIS_INDEX; | 310 return ServerOperationPriority.ANALYSIS_INDEX; |
| 310 } | 311 } |
| 311 | 312 |
| 312 @override | 313 @override |
| 313 void perform(AnalysisServer server) { | 314 void perform(AnalysisServer server) { |
| 314 Index index = server.index; | 315 Index index = server.index; |
| 315 index.indexUnit(context, unit); | 316 index.indexUnit(context, unit); |
| 316 } | 317 } |
| 317 } | 318 } |
| 318 | 319 |
| 319 | 320 |
| 320 class _DartNavigationOperation extends _DartNotificationOperation { | 321 class _DartNavigationOperation extends _DartNotificationOperation { |
| 321 _DartNavigationOperation(String file, CompilationUnit unit) | 322 _DartNavigationOperation(String file, CompilationUnit unit) |
| 322 : super(file, unit); | 323 : super(file, unit); |
| 323 | 324 |
| 324 @override | 325 @override |
| 325 void perform(AnalysisServer server) { | 326 void perform(AnalysisServer server) { |
| 326 sendAnalysisNotificationNavigation(server, file, unit); | 327 sendAnalysisNotificationNavigation(server, file, unit); |
| 327 } | 328 } |
| 328 } | 329 } |
| 329 | 330 |
| 330 | 331 |
| 331 abstract class _DartNotificationOperation extends ServerOperation { | 332 abstract class _DartNotificationOperation extends _SingleFileOperation { |
| 332 final String file; | |
| 333 final CompilationUnit unit; | 333 final CompilationUnit unit; |
| 334 | 334 |
| 335 _DartNotificationOperation(this.file, this.unit); | 335 _DartNotificationOperation(String file, this.unit) : super(file); |
| 336 | 336 |
| 337 @override | 337 @override |
| 338 ServerOperationPriority get priority { | 338 ServerOperationPriority get priority { |
| 339 return ServerOperationPriority.ANALYSIS_NOTIFICATION; | 339 return ServerOperationPriority.ANALYSIS_NOTIFICATION; |
| 340 } | 340 } |
| 341 | |
| 342 @override | |
| 343 bool shouldBeDiscardedOnSourceChange(Source source) { | |
|
Brian Wilkerson
2015/02/06 19:24:17
This method duplicates the inherited method and co
| |
| 344 return source.fullName == file; | |
| 345 } | |
| 341 } | 346 } |
| 342 | 347 |
| 343 | 348 |
| 344 class _DartOccurrencesOperation extends _DartNotificationOperation { | 349 class _DartOccurrencesOperation extends _DartNotificationOperation { |
| 345 _DartOccurrencesOperation(String file, CompilationUnit unit) | 350 _DartOccurrencesOperation(String file, CompilationUnit unit) |
| 346 : super(file, unit); | 351 : super(file, unit); |
| 347 | 352 |
| 348 @override | 353 @override |
| 349 void perform(AnalysisServer server) { | 354 void perform(AnalysisServer server) { |
| 350 sendAnalysisNotificationOccurrences(server, file, unit); | 355 sendAnalysisNotificationOccurrences(server, file, unit); |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 369 _DartOverridesOperation(String file, CompilationUnit unit) | 374 _DartOverridesOperation(String file, CompilationUnit unit) |
| 370 : super(file, unit); | 375 : super(file, unit); |
| 371 | 376 |
| 372 @override | 377 @override |
| 373 void perform(AnalysisServer server) { | 378 void perform(AnalysisServer server) { |
| 374 sendAnalysisNotificationOverrides(server, file, unit); | 379 sendAnalysisNotificationOverrides(server, file, unit); |
| 375 } | 380 } |
| 376 } | 381 } |
| 377 | 382 |
| 378 | 383 |
| 379 class _HtmlIndexOperation extends ServerOperation { | 384 class _HtmlIndexOperation extends _SingleFileOperation { |
| 380 final AnalysisContext context; | 385 final AnalysisContext context; |
| 381 final HtmlUnit unit; | 386 final HtmlUnit unit; |
| 382 | 387 |
| 383 _HtmlIndexOperation(this.context, this.unit); | 388 _HtmlIndexOperation(this.context, String file, this.unit) : super(file); |
| 384 | 389 |
| 385 @override | 390 @override |
| 386 ServerOperationPriority get priority { | 391 ServerOperationPriority get priority { |
| 387 return ServerOperationPriority.ANALYSIS_INDEX; | 392 return ServerOperationPriority.ANALYSIS_INDEX; |
| 388 } | 393 } |
| 389 | 394 |
| 390 @override | 395 @override |
| 391 void perform(AnalysisServer server) { | 396 void perform(AnalysisServer server) { |
| 392 Index index = server.index; | 397 Index index = server.index; |
| 393 index.indexHtmlUnit(context, unit); | 398 index.indexHtmlUnit(context, unit); |
| 394 } | 399 } |
| 395 } | 400 } |
| 396 | 401 |
| 397 | 402 |
| 398 class _NotificationErrorsOperation extends ServerOperation { | 403 class _NotificationErrorsOperation extends _SingleFileOperation { |
| 399 final String file; | |
| 400 final LineInfo lineInfo; | 404 final LineInfo lineInfo; |
| 401 final List<AnalysisError> errors; | 405 final List<AnalysisError> errors; |
| 402 | 406 |
| 403 _NotificationErrorsOperation(this.file, this.lineInfo, this.errors); | 407 _NotificationErrorsOperation(String file, this.lineInfo, this.errors) |
| 408 : super(file); | |
| 404 | 409 |
| 405 @override | 410 @override |
| 406 ServerOperationPriority get priority { | 411 ServerOperationPriority get priority { |
| 407 return ServerOperationPriority.ANALYSIS_NOTIFICATION; | 412 return ServerOperationPriority.ANALYSIS_NOTIFICATION; |
| 408 } | 413 } |
| 409 | 414 |
| 410 @override | 415 @override |
| 411 void perform(AnalysisServer server) { | 416 void perform(AnalysisServer server) { |
| 412 sendAnalysisNotificationErrors(server, file, lineInfo, errors); | 417 sendAnalysisNotificationErrors(server, file, lineInfo, errors); |
| 413 } | 418 } |
| 414 } | 419 } |
| 420 | |
| 421 | |
| 422 abstract class _SingleFileOperation extends SourceSensitiveOperation { | |
| 423 final String file; | |
| 424 | |
| 425 _SingleFileOperation(this.file); | |
| 426 | |
| 427 @override | |
| 428 bool shouldBeDiscardedOnSourceChange(Source source) { | |
| 429 return source.fullName == file; | |
| 430 } | |
| 431 } | |
| OLD | NEW |