Version 2.17.0-22.0.dev
Merge commit 'a8c63a877396e9929745f6cfede95304ca647d98' into 'dev'
diff --git a/pkg/analysis_server/lib/src/computer/computer_highlights.dart b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
index d091c3f..8881116 100644
--- a/pkg/analysis_server/lib/src/computer/computer_highlights.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
@@ -1115,6 +1115,23 @@
}
@override
+ void visitSuperFormalParameter(SuperFormalParameter node) {
+ computer._addRegion_token(
+ node.superKeyword,
+ HighlightRegionType.KEYWORD,
+ );
+
+ computer._addRegion_node(
+ node.identifier,
+ HighlightRegionType.PARAMETER_DECLARATION,
+ );
+
+ node.type?.accept(this);
+ node.typeParameters?.accept(this);
+ node.parameters?.accept(this);
+ }
+
+ @override
void visitSwitchCase(SwitchCase node) {
computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD,
semanticTokenModifiers: {CustomSemanticTokenModifiers.control});
diff --git a/pkg/analysis_server/test/analysis/notification_highlights2_test.dart b/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
index 6645f3f..c97ddd3 100644
--- a/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
@@ -1136,6 +1136,50 @@
assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'bbb: 2');
}
+ Future<void> test_PARAMETER_super_children() async {
+ addTestFile('''
+class A {
+ A(Object aaa);
+}
+class B extends A {
+ B(int super.aaa<T>(double a /*0*/));
+}
+''');
+ await prepareHighlights();
+ assertHasRegion(HighlightRegionType.CLASS, 'int');
+ assertHasRegion(HighlightRegionType.CLASS, 'double');
+ assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T>');
+ assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'a /*0*/');
+ }
+
+ Future<void> test_PARAMETER_super_requiredNamed() async {
+ addTestFile('''
+class A {
+ A({required int aaa});
+}
+class B extends A {
+ B({required super.aaa /*0*/});
+}
+''');
+ await prepareHighlights();
+ assertHasRegion(HighlightRegionType.KEYWORD, 'super.aaa');
+ assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'aaa /*0*/');
+ }
+
+ Future<void> test_PARAMETER_super_requiredPositional() async {
+ addTestFile('''
+class A {
+ A(int aaa);
+}
+class B extends A {
+ B(super.aaa /*0*/);
+}
+''');
+ await prepareHighlights();
+ assertHasRegion(HighlightRegionType.KEYWORD, 'super.aaa');
+ assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'aaa /*0*/');
+ }
+
Future<void> test_SETTER_DECLARATION() async {
addTestFile('''
set aaa(x) {}
diff --git a/tools/VERSION b/tools/VERSION
index 2d129f5..bb88572 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 17
PATCH 0
-PRERELEASE 21
+PRERELEASE 22
PRERELEASE_PATCH 0
\ No newline at end of file