File tree Expand file tree Collapse file tree 2 files changed +19
-2
lines changed
crates/emmylua_code_analysis/src Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -1227,4 +1227,17 @@ end
12271227 "# ,
12281228 ) ) ;
12291229 }
1230+
1231+ #[ test]
1232+ fn test_array_flow ( ) {
1233+ let mut ws = VirtualWorkspace :: new_with_init_std_lib ( ) ;
1234+ assert ! ( ws. check_code_for(
1235+ DiagnosticCode :: NeedCheckNil ,
1236+ r#"
1237+ for i = 1, #_G.arg do
1238+ print(_G.arg[i].char())
1239+ end
1240+ "# ,
1241+ ) ) ;
1242+ }
12301243}
Original file line number Diff line number Diff line change @@ -68,8 +68,12 @@ pub fn get_name_expr_var_ref_id(
6868 let references_index = db. get_reference_index ( ) ;
6969 let range = name_expr. get_range ( ) ;
7070 let file_ref = references_index. get_local_reference ( & file_id) ?;
71- let decl_id = file_ref. get_decl_id ( & range) ?;
72- Some ( VarRefId :: VarRef ( decl_id) )
71+ if let Some ( decl_id) = file_ref. get_decl_id ( & range) {
72+ return Some ( VarRefId :: VarRef ( decl_id) ) ;
73+ }
74+
75+ let global_decl_id = db. get_global_index ( ) . resolve_global_decl_id ( db, name) ?;
76+ Some ( VarRefId :: VarRef ( global_decl_id) )
7377 }
7478 }
7579}
You can’t perform that action at this time.
0 commit comments