Skip to content

Commit 73443c8

Browse files
srawlinsCommit Queue
authored andcommitted
DAS: Generated protocol 'enums' can be real enums
File sizes are reduced: ``` analysis_server_client's protocol_common.dart - 132k -> 102k (-23%) analysis_server_client's protocol_generated.dart - 453k -> 433k (- 4%) analysis_server's protocol_generated.dart - 528k -> 509k (- 3%) analyzer_plugin's protocol_common.dart - 139k -> 108k (-22%) ``` Change-Id: I8018f1d09e053c9d3df340ba31cdb07cbd29acf7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/392842 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Samuel Rawlins <[email protected]>
1 parent 309ba3b commit 73443c8

26 files changed

+751
-3842
lines changed

pkg/analysis_server/lib/protocol/protocol_generated.dart

Lines changed: 124 additions & 696 deletions
Large diffs are not rendered by default.

pkg/analysis_server/lib/src/lsp/handlers/commands/perform_refactor.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class PerformRefactorCommandHandler extends AbstractRefactorCommandHandler {
5050

5151
return result.mapResult((result) async {
5252
var refactoring = await getRefactoring(
53-
RefactoringKind(kind),
53+
RefactoringKind.values.byName(kind),
5454
result,
5555
offset,
5656
length,

pkg/analysis_server/lib/src/lsp/handlers/commands/validate_refactor.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class ValidateRefactorCommandHandler extends AbstractRefactorCommandHandler {
4949
var result = await requireResolvedUnit(path);
5050
return result.mapResult((result) async {
5151
var refactoring = await getRefactoring(
52-
RefactoringKind(kind),
52+
RefactoringKind.values.byName(kind),
5353
result,
5454
offset,
5555
length,

pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,14 +1238,14 @@ class LspAnalysisServer extends AnalysisServer {
12381238
// LSP we're supposed to have them available per request. Assume that
12391239
// we'll only receive requests for files that are currently open.
12401240
var pluginSubscriptions = plugin.AnalysisSetSubscriptionsParams({
1241-
for (var service in plugin.AnalysisService.VALUES)
1241+
for (var service in plugin.AnalysisService.values)
12421242
service: priorityFilesList,
12431243
});
12441244
pluginManager.setAnalysisSetSubscriptionsParams(pluginSubscriptions);
12451245
}
12461246

12471247
notificationManager.setSubscriptions({
1248-
for (var service in protocol.AnalysisService.VALUES)
1248+
for (var service in protocol.AnalysisService.values)
12491249
service: priorityFiles,
12501250
});
12511251
}

pkg/analysis_server/lib/src/lsp/mapping.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -785,11 +785,6 @@ lsp.DiagnosticSeverity pluginToDiagnosticSeverity(
785785
plugin.AnalysisErrorSeverity.ERROR => lsp.DiagnosticSeverity.Error,
786786
plugin.AnalysisErrorSeverity.WARNING => lsp.DiagnosticSeverity.Warning,
787787
plugin.AnalysisErrorSeverity.INFO => lsp.DiagnosticSeverity.Information,
788-
// Note: LSP also supports "Hint", but they won't render in things like the
789-
// VS Code errors list as they're apparently intended to communicate
790-
// non-visible diagnostics back (for example, if you wanted to grey out
791-
// unreachable code without producing an item in the error list).
792-
_ => throw 'Unknown AnalysisErrorSeverity: $severity',
793788
};
794789
}
795790

pkg/analysis_server/lib/src/plugin/notification_manager.dart

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -250,22 +250,17 @@ abstract class AbstractNotificationManager {
250250
void setSubscriptions(
251251
Map<server.AnalysisService, Set<String>> newSubscriptions,
252252
) {
253-
/// Return the collector associated with the given service, or `null` if the
254-
/// service is not handled by this manager.
253+
/// Returns the collector associated with the given service, or `null` if
254+
/// the service is not handled by this manager.
255255
ResultCollector<Object?>? collectorFor(server.AnalysisService service) {
256-
switch (service) {
257-
case server.AnalysisService.FOLDING:
258-
return folding;
259-
case server.AnalysisService.HIGHLIGHTS:
260-
return highlights;
261-
case server.AnalysisService.NAVIGATION:
262-
return navigation;
263-
case server.AnalysisService.OCCURRENCES:
264-
return occurrences;
265-
case server.AnalysisService.OUTLINE:
266-
return outlines;
267-
}
268-
return null;
256+
return switch (service) {
257+
server.AnalysisService.FOLDING => folding,
258+
server.AnalysisService.HIGHLIGHTS => highlights,
259+
server.AnalysisService.NAVIGATION => navigation,
260+
server.AnalysisService.OCCURRENCES => occurrences,
261+
server.AnalysisService.OUTLINE => outlines,
262+
_ => null,
263+
};
269264
}
270265

271266
Set<server.AnalysisService> services = HashSet<server.AnalysisService>();

pkg/analysis_server/lib/src/plugin/request_converter.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class RequestConverter {
1111
plugin.AnalysisService convertAnalysisService(
1212
server.AnalysisService service,
1313
) {
14-
return plugin.AnalysisService(service.name);
14+
return plugin.AnalysisService.values.byName(service.name);
1515
}
1616

1717
plugin.AnalysisSetPriorityFilesParams convertAnalysisSetPriorityFilesParams(

pkg/analysis_server/lib/src/protocol_server.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,8 @@ AnalysisError newAnalysisError_fromEngine(
219219
errorSeverity ??= errorCode.errorSeverity;
220220

221221
// done
222-
var severity = AnalysisErrorSeverity(errorSeverity.name);
223-
var type = AnalysisErrorType(errorCode.type.name);
222+
var severity = AnalysisErrorSeverity.values.byName(errorSeverity.name);
223+
var type = AnalysisErrorType.values.byName(errorCode.type.name);
224224
var message = error.message;
225225
var code = errorCode.name.toLowerCase();
226226
List<DiagnosticMessage>? contextMessages;

pkg/analysis_server/lib/src/status/diagnostics.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1800,7 +1800,7 @@ class SubscriptionsPage extends DiagnosticPageWithNav {
18001800
Future<void> generateContent(Map<String, String> params) async {
18011801
// server domain
18021802
h3('Server domain subscriptions');
1803-
ul(ServerService.VALUES, (item) {
1803+
ul(ServerService.values, (item) {
18041804
if (server.serverServices.contains(item)) {
18051805
buf.write('$item (has subscriptions)');
18061806
} else {
@@ -1810,7 +1810,7 @@ class SubscriptionsPage extends DiagnosticPageWithNav {
18101810

18111811
// analysis domain
18121812
h3('Analysis domain subscriptions');
1813-
for (var service in AnalysisService.VALUES) {
1813+
for (var service in AnalysisService.values) {
18141814
buf.writeln('${service.name}<br>');
18151815
ul(server.analysisServices[service] ?? {}, (item) {
18161816
buf.write('$item');

pkg/analysis_server/test/analysis/notification_highlights2_test.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2693,7 +2693,7 @@ class HighlightTypeTest {
26932693
void test_constructor() {
26942694
expect(
26952695
HighlightRegionType.CLASS,
2696-
HighlightRegionType(HighlightRegionType.CLASS.name),
2696+
HighlightRegionType.values.byName(HighlightRegionType.CLASS.name),
26972697
);
26982698
}
26992699

@@ -2703,7 +2703,7 @@ class HighlightTypeTest {
27032703

27042704
void test_valueOf_unknown() {
27052705
expect(() {
2706-
HighlightRegionType('no-such-type');
2707-
}, throwsException);
2706+
HighlightRegionType.values.byName('no-such-type');
2707+
}, throwsArgumentError);
27082708
}
27092709
}

0 commit comments

Comments
 (0)