public override void CheckSemantics(Scope scope, Report report) { FunctionInfo func = scope.FindFunction(name); if (func == null) { report.Add(Line, CharPositionInLine, string.Format("Function {0} isn't defined", name)); returnType = scope.FindType("error"); return; } if (Params.Check(func, scope, report)) { returnType = func.returnType; function = func; return; } returnType = scope.FindType("error"); }