This commit is contained in:
parent
f4689e58d0
commit
7b0edd5235
|
|
@ -588,16 +588,30 @@ namespace PascalABCCompiler
|
|||
if (!(i < stmt.statements.Count - 1 && stmt.statements[i + 1].semantic_node_type == semantic_node_type.empty_statement))
|
||||
is_break_stmt = false;
|
||||
}
|
||||
if (!tuple_decomp)
|
||||
foreach (local_block_variable vdn in stmt.local_variables)
|
||||
int tuples_num = 0;
|
||||
foreach (local_block_variable vdn in stmt.local_variables)
|
||||
{
|
||||
if (vdn.name.StartsWith("#fpl") || vdn.name.StartsWith("#temp_var"))
|
||||
{
|
||||
VarInfo vi = helper.GetVariable(vdn);
|
||||
if (isUnused(vi, vdn))
|
||||
warns.Add(new UnusedVariable(vdn.name, vdn.loc));
|
||||
|
||||
if (vi.num_ass > 0 && vi.act_num_use == 0 && !vdn.is_special_name)
|
||||
AddWarningAssignWithoutUsing(vdn.name, vi.last_ass_loc);
|
||||
tuple_decomp = true;
|
||||
if (vdn.type is generic_instance_type_node)
|
||||
tuples_num = (vdn.type as generic_instance_type_node).generic_params.Count;
|
||||
else if (vdn.type is compiled_type_node)
|
||||
tuples_num = (vdn.type as compiled_type_node).compiled_type.GetGenericArguments().Length;
|
||||
continue;
|
||||
}
|
||||
else if (tuples_num > 0)
|
||||
{
|
||||
tuples_num--;
|
||||
continue;
|
||||
}
|
||||
VarInfo vi = helper.GetVariable(vdn);
|
||||
if (isUnused(vi, vdn))
|
||||
warns.Add(new UnusedVariable(vdn.name, vdn.loc));
|
||||
|
||||
if (vi.num_ass > 0 && vi.act_num_use == 0 && !vdn.is_special_name)
|
||||
AddWarningAssignWithoutUsing(vdn.name, vi.last_ass_loc);
|
||||
}
|
||||
}
|
||||
|
||||
private void VisitExternalStatementNode(external_statement sn)
|
||||
|
|
|
|||
Loading…
Reference in a new issue