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 analysis.server; | 5 library analysis.server; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 import 'dart:math' show max; | 9 import 'dart:math' show max; |
| 10 | 10 |
| (...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 436 { | 436 { |
| 437 Uri uri = resourceProvider.pathContext.toUri(path); | 437 Uri uri = resourceProvider.pathContext.toUri(path); |
| 438 Source sdkSource = defaultSdk.fromFileUri(uri); | 438 Source sdkSource = defaultSdk.fromFileUri(uri); |
| 439 if (sdkSource != null) { | 439 if (sdkSource != null) { |
| 440 AnalysisContext anyContext = folderMap.values.first; | 440 AnalysisContext anyContext = folderMap.values.first; |
| 441 return new ContextSourcePair(anyContext, sdkSource); | 441 return new ContextSourcePair(anyContext, sdkSource); |
| 442 } | 442 } |
| 443 } | 443 } |
| 444 // try to find the deep-most containing context | 444 // try to find the deep-most containing context |
| 445 Resource resource = resourceProvider.getResource(path); | 445 Resource resource = resourceProvider.getResource(path); |
| 446 File file = resource is File ? resource : null; | 446 if (resource is! File) { |
| 447 return null; | |
|
scheglov
2015/05/04 15:38:54
This breaks this method's contract.
1. It promise
Brian Wilkerson
2015/05/04 15:55:58
I misread the comment. Done.
| |
| 448 } | |
| 449 File file = resource; | |
| 447 { | 450 { |
| 448 AnalysisContext containingContext = getContainingContext(path); | 451 AnalysisContext containingContext = getContainingContext(path); |
| 449 if (containingContext != null) { | 452 if (containingContext != null) { |
| 450 Source source = file != null | 453 Source source = file != null |
| 451 ? ContextManager.createSourceInContext(containingContext, file) | 454 ? ContextManager.createSourceInContext(containingContext, file) |
| 452 : null; | 455 : null; |
| 453 return new ContextSourcePair(containingContext, source); | 456 return new ContextSourcePair(containingContext, source); |
| 454 } | 457 } |
| 455 } | 458 } |
| 456 // try to find a context that analysed the file | 459 // try to find a context that analysed the file |
| 457 for (AnalysisContext context in folderMap.values) { | 460 for (AnalysisContext context in folderMap.values) { |
| 458 Source source = file != null | 461 Source source = file != null |
|
scheglov
2015/05/04 15:38:54
Now we can remove all checks of "file" for null.
Brian Wilkerson
2015/05/04 15:55:58
Done
| |
| 459 ? ContextManager.createSourceInContext(context, file) | 462 ? ContextManager.createSourceInContext(context, file) |
| 460 : null; | 463 : null; |
| 461 SourceKind kind = context.getKindOf(source); | 464 SourceKind kind = context.getKindOf(source); |
| 462 if (kind != SourceKind.UNKNOWN) { | 465 if (kind != SourceKind.UNKNOWN) { |
| 463 return new ContextSourcePair(context, source); | 466 return new ContextSourcePair(context, source); |
| 464 } | 467 } |
| 465 } | 468 } |
| 466 // try to find a context for which the file is a priority source | 469 // try to find a context for which the file is a priority source |
| 467 for (InternalAnalysisContext context in folderMap.values) { | 470 for (InternalAnalysisContext context in folderMap.values) { |
| 468 List<Source> sources = context.getSourcesWithFullName(path); | 471 List<Source> sources = context.getSourcesWithFullName(path); |
| (...skipping 1030 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1499 /** | 1502 /** |
| 1500 * The [PerformanceTag] for time spent in server request handlers. | 1503 * The [PerformanceTag] for time spent in server request handlers. |
| 1501 */ | 1504 */ |
| 1502 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); | 1505 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); |
| 1503 | 1506 |
| 1504 /** | 1507 /** |
| 1505 * The [PerformanceTag] for time spent in split store microtasks. | 1508 * The [PerformanceTag] for time spent in split store microtasks. |
| 1506 */ | 1509 */ |
| 1507 static PerformanceTag splitStore = new PerformanceTag('splitStore'); | 1510 static PerformanceTag splitStore = new PerformanceTag('splitStore'); |
| 1508 } | 1511 } |
| OLD | NEW |