File tree Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -290,6 +290,28 @@ class _InlineValueVisitor extends GeneralizingAstVisitor<void> {
290290 super .visitBlock (node);
291291 }
292292
293+ @override
294+ void visitDeclaredIdentifier (DeclaredIdentifier node) {
295+ var name = node.name;
296+ collector.recordVariableLookup (
297+ node.declaredElement2,
298+ name.offset,
299+ name.length,
300+ );
301+ super .visitDeclaredIdentifier (node);
302+ }
303+
304+ @override
305+ void visitDeclaredVariablePattern (DeclaredVariablePattern node) {
306+ var name = node.name;
307+ collector.recordVariableLookup (
308+ node.declaredElement2,
309+ name.offset,
310+ name.length,
311+ );
312+ super .visitDeclaredVariablePattern (node);
313+ }
314+
293315 @override
294316 void visitFormalParameter (FormalParameter node) {
295317 var name = node.name;
Original file line number Diff line number Diff line change @@ -405,6 +405,30 @@ void f() {
405405 await verify_values (code, ofType: InlineValueVariableLookup );
406406 }
407407
408+ Future <void > test_variable_forIn () async {
409+ code = TestCode .parse (r'''
410+ void f(List<int> ints) {
411+ for (var /*[0*/i/*0]*/ in /*[1*/ints/*1]*/) {
412+ ^
413+ }
414+ }
415+ ''' );
416+
417+ await verify_values (code, ofType: InlineValueVariableLookup );
418+ }
419+
420+ Future <void > test_variable_forIn_destructure () async {
421+ code = TestCode .parse (r'''
422+ void f(List<(int, int)> records) {
423+ for (var (/*[0*/x/*0]*/, /*[1*/y/*1]*/) in /*[2*/records/*2]*/) {
424+ ^
425+ }
426+ }
427+ ''' );
428+
429+ await verify_values (code, ofType: InlineValueVariableLookup );
430+ }
431+
408432 /// Lists are included, iterables are not.
409433 Future <void > test_variable_iterables () async {
410434 experimentalInlineValuesProperties = true ;
You can’t perform that action at this time.
0 commit comments