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

Side by Side Diff: pkg/analysis_server/lib/src/status/get_handler.dart

Issue 1495303002: Context-specific configuration status reporting. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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.src.status.get_handler; 5 library analysis_server.src.status.get_handler;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 import 'dart:convert'; 9 import 'dart:convert';
10 import 'dart:io'; 10 import 'dart:io';
(...skipping 14 matching lines...) Expand all
25 import 'package:analysis_server/src/status/ast_writer.dart'; 25 import 'package:analysis_server/src/status/ast_writer.dart';
26 import 'package:analysis_server/src/status/element_writer.dart'; 26 import 'package:analysis_server/src/status/element_writer.dart';
27 import 'package:analysis_server/src/utilities/average.dart'; 27 import 'package:analysis_server/src/utilities/average.dart';
28 import 'package:analyzer/file_system/file_system.dart'; 28 import 'package:analyzer/file_system/file_system.dart';
29 import 'package:analyzer/src/context/cache.dart'; 29 import 'package:analyzer/src/context/cache.dart';
30 import 'package:analyzer/src/context/context.dart' show AnalysisContextImpl; 30 import 'package:analyzer/src/context/context.dart' show AnalysisContextImpl;
31 import 'package:analyzer/src/generated/ast.dart'; 31 import 'package:analyzer/src/generated/ast.dart';
32 import 'package:analyzer/src/generated/element.dart'; 32 import 'package:analyzer/src/generated/element.dart';
33 import 'package:analyzer/src/generated/engine.dart' 33 import 'package:analyzer/src/generated/engine.dart'
34 hide AnalysisCache, AnalysisContextImpl, AnalysisTask; 34 hide AnalysisCache, AnalysisContextImpl, AnalysisTask;
35 import 'package:analyzer/src/generated/error.dart';
35 import 'package:analyzer/src/generated/java_engine.dart'; 36 import 'package:analyzer/src/generated/java_engine.dart';
36 import 'package:analyzer/src/generated/resolver.dart'; 37 import 'package:analyzer/src/generated/resolver.dart';
37 import 'package:analyzer/src/generated/source.dart'; 38 import 'package:analyzer/src/generated/source.dart';
38 import 'package:analyzer/src/generated/utilities_collection.dart'; 39 import 'package:analyzer/src/generated/utilities_collection.dart';
39 import 'package:analyzer/src/generated/utilities_general.dart'; 40 import 'package:analyzer/src/generated/utilities_general.dart';
41 import 'package:analyzer/src/services/lint.dart';
40 import 'package:analyzer/src/task/dart.dart'; 42 import 'package:analyzer/src/task/dart.dart';
41 import 'package:analyzer/src/task/driver.dart'; 43 import 'package:analyzer/src/task/driver.dart';
42 import 'package:analyzer/src/task/html.dart'; 44 import 'package:analyzer/src/task/html.dart';
43 import 'package:analyzer/src/task/options.dart'; 45 import 'package:analyzer/src/task/options.dart';
44 import 'package:analyzer/task/dart.dart'; 46 import 'package:analyzer/task/dart.dart';
45 import 'package:analyzer/task/general.dart'; 47 import 'package:analyzer/task/general.dart';
46 import 'package:analyzer/task/html.dart'; 48 import 'package:analyzer/task/html.dart';
47 import 'package:analyzer/task/model.dart'; 49 import 'package:analyzer/task/model.dart';
48 import 'package:plugin/plugin.dart'; 50 import 'package:plugin/plugin.dart';
49 51
(...skipping 1027 matching lines...) Expand 10 before | Expand all | Expand 10 after
1077 1079
1078 buffer.write('<h3>Work Items</h3>'); 1080 buffer.write('<h3>Work Items</h3>');
1079 buffer.write( 1081 buffer.write(
1080 '<p><b>Current:</b> ${_describe(driver.currentWorkOrder?.current)}</ p>'); 1082 '<p><b>Current:</b> ${_describe(driver.currentWorkOrder?.current)}</ p>');
1081 if (workItems != null) { 1083 if (workItems != null) {
1082 buffer.writeAll(workItems.reversed 1084 buffer.writeAll(workItems.reversed
1083 .map((item) => '<p>${_describe(item)}</p>') 1085 .map((item) => '<p>${_describe(item)}</p>')
1084 ?.toList()); 1086 ?.toList());
1085 } 1087 }
1086 1088
1089 buffer.write('<h3>Configuration</h3>');
1090
1091 AnalysisOptionsImpl options = context.analysisOptions;
1092 buffer.write('<p><b>Options</b></p>');
1093 buffer.write('<p>');
1094 _writeOption(
1095 buffer, 'Analyze functon bodies', options.analyzeFunctionBodies);
1096 _writeOption(buffer, 'Cache size', options.cacheSize);
1097 _writeOption(
1098 buffer, 'Enable generic methods', options.enableGenericMethods);
1099 _writeOption(buffer, 'Enable strict call checks',
1100 options.enableStrictCallChecks);
1101 _writeOption(buffer, 'Enable super mixins', options.enableSuperMixins);
1102 _writeOption(buffer, 'Generate dart2js hints', options.dart2jsHint);
1103 _writeOption(buffer, 'Generate errors in implicit files',
1104 options.generateImplicitErrors);
1105 _writeOption(
1106 buffer, 'Generate errors in SDK files', options.generateSdkErrors);
1107 _writeOption(buffer, 'Generate hints', options.hint);
1108 _writeOption(buffer, 'Incremental resolution', options.incremental);
1109 _writeOption(buffer, 'Incremental resolution with API changes',
1110 options.incrementalApi);
1111 _writeOption(buffer, 'Preserve comments', options.preserveComments);
1112 _writeOption(buffer, 'Strong mode', options.strongMode);
1113 _writeOption(buffer, 'Strong mode hints', options.strongModeHints,
1114 last: true);
1115 buffer.write('</p>');
1116
1117 List<Linter> lints = context.getConfigurationData(CONFIGURED_LINTS_KEY);
1118 buffer.write('<p><b>Lints</b></p>');
1119 if (lints.isEmpty) {
1120 buffer.write('<p><none></p>');
1121 } else {
1122 for (Linter lint in lints) {
1123 buffer.write('<p> ${lint.runtimeType}</p>');
1124 }
1125 }
1126
1127 List<ErrorFilter> errorFilters =
1128 context.getConfigurationData(CONFIGURED_ERROR_FILTERS);
1129 int filterCount = errorFilters?.length ?? 0;
1130 buffer.write('<p><b>Error Filter count</b>: $filterCount</p>');
1131
1087 _writeFiles(buffer, 'Priority Files', priorityNames); 1132 _writeFiles(buffer, 'Priority Files', priorityNames);
1088 _writeFiles(buffer, 'Explicitly Analyzed Files', explicitNames); 1133 _writeFiles(buffer, 'Explicitly Analyzed Files', explicitNames);
1089 _writeFiles(buffer, 'Implicitly Analyzed Files', implicitNames); 1134 _writeFiles(buffer, 'Implicitly Analyzed Files', implicitNames);
1090 1135
1091 buffer.write('<h3>Exceptions</h3>'); 1136 buffer.write('<h3>Exceptions</h3>');
1092 if (exceptions.isEmpty) { 1137 if (exceptions.isEmpty) {
1093 buffer.write('<p>None</p>'); 1138 buffer.write('<p>None</p>');
1094 } else { 1139 } else {
1095 exceptions.forEach((CaughtException exception) { 1140 exceptions.forEach((CaughtException exception) {
1096 _writeException(buffer, exception); 1141 _writeException(buffer, exception);
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
1264 } 1309 }
1265 1310
1266 /** 1311 /**
1267 * Return a response indicating the status of the analysis server. 1312 * Return a response indicating the status of the analysis server.
1268 */ 1313 */
1269 void _returnServerStatus(HttpRequest request) { 1314 void _returnServerStatus(HttpRequest request) {
1270 _writeResponse(request, (StringBuffer buffer) { 1315 _writeResponse(request, (StringBuffer buffer) {
1271 _writePage(buffer, 'Analysis Server - Status', [], (StringBuffer buffer) { 1316 _writePage(buffer, 'Analysis Server - Status', [], (StringBuffer buffer) {
1272 if (_writeServerStatus(buffer)) { 1317 if (_writeServerStatus(buffer)) {
1273 _writeAnalysisStatus(buffer); 1318 _writeAnalysisStatus(buffer);
1274 _writeDiagnosticStatus(buffer);
1275 _writeEditStatus(buffer); 1319 _writeEditStatus(buffer);
1276 _writeExecutionStatus(buffer); 1320 _writeExecutionStatus(buffer);
1277 _writePluginStatus(buffer); 1321 _writePluginStatus(buffer);
1278 _writeRecentOutput(buffer); 1322 _writeRecentOutput(buffer);
1279 } 1323 }
1280 }); 1324 });
1281 }); 1325 });
1282 } 1326 }
1283 1327
1284 /** 1328 /**
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
1363 String key = folder.shortName; 1407 String key = folder.shortName;
1364 buffer.write(makeLink(CONTEXT_PATH, {CONTEXT_QUERY_PARAM: folder.path}, 1408 buffer.write(makeLink(CONTEXT_PATH, {CONTEXT_QUERY_PARAM: folder.path},
1365 key, _hasException(folderMap[folder]))); 1409 key, _hasException(folderMap[folder])));
1366 if (!folder.getChild('.packages').exists) { 1410 if (!folder.getChild('.packages').exists) {
1367 buffer.write(' <b>[No .packages file]</b>'); 1411 buffer.write(' <b>[No .packages file]</b>');
1368 } 1412 }
1369 }); 1413 });
1370 // TODO(brianwilkerson) Add items for the SDK contexts (currently only one ). 1414 // TODO(brianwilkerson) Add items for the SDK contexts (currently only one ).
1371 buffer.write('</p>'); 1415 buffer.write('</p>');
1372 1416
1373 buffer.write('<p><b>Options</b></p>');
1374 buffer.write('<p>');
1375 _writeOption(
1376 buffer, 'Analyze functon bodies', options.analyzeFunctionBodies);
1377 _writeOption(buffer, 'Cache size', options.cacheSize);
1378 _writeOption(
1379 buffer, 'Enable strict call checks', options.enableStrictCallChecks);
1380 _writeOption(buffer, 'Enable super mixins', options.enableSuperMixins);
1381 _writeOption(buffer, 'Generate hints', options.hint);
1382 _writeOption(buffer, 'Generate dart2js hints', options.dart2jsHint);
1383 _writeOption(buffer, 'Generate errors in implicit files',
1384 options.generateImplicitErrors);
1385 _writeOption(
1386 buffer, 'Generate errors in SDK files', options.generateSdkErrors);
1387 _writeOption(buffer, 'Incremental resolution', options.incremental);
1388 _writeOption(buffer, 'Incremental resolution with API changes',
1389 options.incrementalApi);
1390 _writeOption(buffer, 'Preserve comments', options.preserveComments,
1391 last: true);
1392 buffer.write('</p>');
1393 int freq = AnalysisServer.performOperationDelayFreqency; 1417 int freq = AnalysisServer.performOperationDelayFreqency;
1394 String delay = freq > 0 ? '1 ms every $freq ms' : 'off'; 1418 String delay = freq > 0 ? '1 ms every $freq ms' : 'off';
1395 buffer.write('<p><b>perform operation delay:</b> $delay</p>'); 1419 buffer.write('<p><b>perform operation delay:</b> $delay</p>');
1396 1420
1397 buffer.write('<p><b>Performance Data</b></p>'); 1421 buffer.write('<p><b>Performance Data</b></p>');
1398 buffer.write('<p>'); 1422 buffer.write('<p>');
1399 buffer.write(makeLink(ANALYSIS_PERFORMANCE_PATH, {}, 'Task data')); 1423 buffer.write(makeLink(ANALYSIS_PERFORMANCE_PATH, {}, 'Task data'));
1400 buffer.write('</p>'); 1424 buffer.write('</p>');
1401 }, (StringBuffer buffer) { 1425 }, (StringBuffer buffer) {
1402 _writeSubscriptionMap( 1426 _writeSubscriptionMap(
(...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after
2044 */ 2068 */
2045 static String makeLink( 2069 static String makeLink(
2046 String path, Map<String, String> params, String innerHtml, 2070 String path, Map<String, String> params, String innerHtml,
2047 [bool hasError = false]) { 2071 [bool hasError = false]) {
2048 Uri uri = new Uri(path: path, queryParameters: params); 2072 Uri uri = new Uri(path: path, queryParameters: params);
2049 String href = HTML_ESCAPE.convert(uri.toString()); 2073 String href = HTML_ESCAPE.convert(uri.toString());
2050 String classAttribute = hasError ? ' class="error"' : ''; 2074 String classAttribute = hasError ? ' class="error"' : '';
2051 return '<a href="$href"$classAttribute>$innerHtml</a>'; 2075 return '<a href="$href"$classAttribute>$innerHtml</a>';
2052 } 2076 }
2053 } 2077 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698