From 4bfd9d4cb2db920c73c8be1b21efd97f46e73087 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Thu, 15 Feb 2024 09:28:11 +0300 Subject: [PATCH] fix bug ABCStatistics --- SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs b/SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs index 767d8b001..cb2fd2355 100644 --- a/SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs +++ b/SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs @@ -176,7 +176,9 @@ namespace SyntaxVisitors } public override void visit(procedure_call pc) { - if (pc.func_name is method_call mc && mc.dereferencing_value is ident id && (id.name.ToLower() == "read" || id.name.ToLower() == "readln")) + if (pc.func_name is method_call mc) + if (mc.dereferencing_value is ident id) + if (id.name != null && (id.name.ToLower() == "read" || id.name.ToLower() == "readln")) { syntax_tree_node n = pc; do @@ -189,7 +191,8 @@ namespace SyntaxVisitors else ReadProc += 1; } - if (pc.func_name is method_call mc1 && mc1.dereferencing_value is ident id1 && (id1.name.ToLower() == "write" || id1.name.ToLower() == "writeln") + if (pc.func_name is method_call mc1 && mc1.dereferencing_value is ident id1 && + (id1.name != null && (id1.name.ToLower() == "write" || id1.name.ToLower() == "writeln")) && mc1.parameters != null && mc1.parameters.expressions.Any(ex => ex is char_const cc && cc.cconst == ' ')) { WriteProcWithSpace += 1;