File tree Expand file tree Collapse file tree 2 files changed +57
-0
lines changed Expand file tree Collapse file tree 2 files changed +57
-0
lines changed Original file line number Diff line number Diff line change @@ -41,6 +41,13 @@ class _DartUnitOccurrencesComputerVisitor extends RecursiveAstVisitor<void> {
4141 super .visitClassDeclaration (node);
4242 }
4343
44+ @override
45+ void visitClassTypeAlias (ClassTypeAlias node) {
46+ _addOccurrence (node.declaredElement! , node.name.offset);
47+
48+ super .visitClassTypeAlias (node);
49+ }
50+
4451 @override
4552 void visitConstructorDeclaration (ConstructorDeclaration node) {
4653 if (node.name case var name? ) {
@@ -104,6 +111,20 @@ class _DartUnitOccurrencesComputerVisitor extends RecursiveAstVisitor<void> {
104111 super .visitFunctionDeclaration (node);
105112 }
106113
114+ @override
115+ void visitFunctionTypeAlias (FunctionTypeAlias node) {
116+ _addOccurrence (node.declaredElement! , node.name.offset);
117+
118+ super .visitFunctionTypeAlias (node);
119+ }
120+
121+ @override
122+ void visitGenericTypeAlias (GenericTypeAlias node) {
123+ _addOccurrence (node.declaredElement! , node.name.offset);
124+
125+ super .visitGenericTypeAlias (node);
126+ }
127+
107128 @override
108129 void visitMethodDeclaration (MethodDeclaration node) {
109130 _addOccurrence (node.declaredElement! , node.name.offset);
Original file line number Diff line number Diff line change @@ -193,6 +193,42 @@ void f() {
193193 print(/*[1*/_/*1]*/);
194194 /*[2*/^_/*2]*/ = '';
195195}
196+ ''' );
197+
198+ Future <void > test_typeAlias_class_declaration () => _testMarkedContent ('''
199+ class MyClass {}
200+ mixin MyMixin {}
201+ class /*[0*/MyAli^as/*0]*/ = MyClass with MyMixin;
202+ /*[1*/MyAlias/*1]*/? a;
203+ ''' );
204+
205+ Future <void > test_typeAlias_class_reference () => _testMarkedContent ('''
206+ class MyClass {}
207+ mixin MyMixin {}
208+ class /*[0*/MyAlias/*0]*/ = MyClass with MyMixin;
209+ /*[1*/MyAl^ias/*1]*/? a;
210+ ''' );
211+
212+ Future <void > test_typeAlias_function_declaration () => _testMarkedContent ('''
213+ typedef /*[0*/myFu^nc/*0]*/();
214+ /*[1*/myFunc/*1]*/? f;
215+ ''' );
216+
217+ Future <void > test_typeAlias_function_reference () => _testMarkedContent ('''
218+ typedef /*[0*/myFunc/*0]*/();
219+ /*[1*/myFun^c/*1]*/? f;
220+ ''' );
221+
222+ Future <void > test_typeAlias_generic_declaration () => _testMarkedContent ('''
223+ typedef /*[0*/TD^/*0]*/ = String;
224+
225+ /*[1*/TD/*1]*/? a;
226+ ''' );
227+
228+ Future <void > test_typeAlias_generic_reference () => _testMarkedContent ('''
229+ typedef /*[0*/TD/*0]*/ = String;
230+
231+ /*[1*/TD^/*1]*/? a;
196232''' );
197233
198234 /// Tests highlights in a Dart file using the provided content.
You can’t perform that action at this time.
0 commit comments