This commit is contained in:
Бондарев Иван 2018-10-03 10:14:32 +02:00
parent 4e2911e93b
commit 1e25e6e987

View file

@ -1169,6 +1169,21 @@ namespace PascalABCCompiler
for (int i = 1; i < en.parameters.Count; i++)
VisitExpression(en.parameters[i]);
expression_node p = en.parameters[0];
if (en.parameters[1] is common_parameter_reference && (en.parameters[1] as common_parameter_reference).par.name.StartsWith("<>"))
{
switch (p.semantic_node_type)
{
case semantic_node_type.local_variable_reference: IncreaseNumUseVar((local_variable_reference)p); break;
case semantic_node_type.local_block_variable_reference: IncreaseNumUseVar((local_block_variable_reference)p); break;
case semantic_node_type.namespace_variable_reference: IncreaseNumUseVar((namespace_variable_reference)p); break;
case semantic_node_type.class_field_reference: VisitExpression((p as class_field_reference).obj); IncreaseNumUseField((class_field_reference)p); break;
case semantic_node_type.static_class_field_reference: IncreaseNumUseField((static_class_field_reference)p); break;
case semantic_node_type.common_parameter_reference: IncreaseNumUseParam((common_parameter_reference)p); break;
case semantic_node_type.deref_node: VisitDerefNode(((dereference_node)p)); break;
case semantic_node_type.simple_array_indexing: VisitSimpleArrayIndexing((simple_array_indexing)p); break;
}
}
else
switch (p.semantic_node_type)
{
case semantic_node_type.local_variable_reference: IncreaseNumAssVar((local_variable_reference)p); break;