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:core'; | 9 import 'dart:core'; |
10 import 'dart:io' as io; | 10 import 'dart:io' as io; |
(...skipping 1838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1849 _runDelayed(() { | 1849 _runDelayed(() { |
1850 new_sendDartNotificationNavigation(analysisServer, result); | 1850 new_sendDartNotificationNavigation(analysisServer, result); |
1851 }); | 1851 }); |
1852 } | 1852 } |
1853 if (analysisServer._hasAnalysisServiceSubscription( | 1853 if (analysisServer._hasAnalysisServiceSubscription( |
1854 AnalysisService.OVERRIDES, path)) { | 1854 AnalysisService.OVERRIDES, path)) { |
1855 _runDelayed(() { | 1855 _runDelayed(() { |
1856 sendAnalysisNotificationOverrides(analysisServer, path, unit); | 1856 sendAnalysisNotificationOverrides(analysisServer, path, unit); |
1857 }); | 1857 }); |
1858 } | 1858 } |
| 1859 if (analysisServer._hasAnalysisServiceSubscription( |
| 1860 AnalysisService.OUTLINE, path)) { |
| 1861 _runDelayed(() { |
| 1862 SourceKind sourceKind = |
| 1863 unit.directives.any((d) => d is PartOfDirective) |
| 1864 ? SourceKind.PART |
| 1865 : SourceKind.LIBRARY; |
| 1866 sendAnalysisNotificationOutline( |
| 1867 analysisServer, path, result.lineInfo, sourceKind, unit); |
| 1868 }); |
| 1869 } |
1859 } | 1870 } |
1860 // TODO(scheglov) Implement more notifications. | 1871 // TODO(scheglov) Implement more notifications. |
1861 // IMPLEMENTED | 1872 // IMPLEMENTED |
1862 // OCCURRENCES (not used in IDEA) | |
1863 // OUTLINE (not used in IDEA) | |
1864 }); | 1873 }); |
1865 analysisDriver.exceptions.listen((nd.ExceptionResult result) { | 1874 analysisDriver.exceptions.listen((nd.ExceptionResult result) { |
1866 AnalysisEngine.instance.logger | 1875 AnalysisEngine.instance.logger |
1867 .logError('Analysis failed: ${result.path}', result.exception); | 1876 .logError('Analysis failed: ${result.path}', result.exception); |
1868 }); | 1877 }); |
1869 analysisServer.driverMap[folder] = analysisDriver; | 1878 analysisServer.driverMap[folder] = analysisDriver; |
1870 return analysisDriver; | 1879 return analysisDriver; |
1871 } | 1880 } |
1872 | 1881 |
1873 @override | 1882 @override |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2107 /** | 2116 /** |
2108 * The [PerformanceTag] for time spent in server request handlers. | 2117 * The [PerformanceTag] for time spent in server request handlers. |
2109 */ | 2118 */ |
2110 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); | 2119 static PerformanceTag serverRequests = new PerformanceTag('serverRequests'); |
2111 | 2120 |
2112 /** | 2121 /** |
2113 * The [PerformanceTag] for time spent in split store microtasks. | 2122 * The [PerformanceTag] for time spent in split store microtasks. |
2114 */ | 2123 */ |
2115 static PerformanceTag splitStore = new PerformanceTag('splitStore'); | 2124 static PerformanceTag splitStore = new PerformanceTag('splitStore'); |
2116 } | 2125 } |
OLD | NEW |