Пример #1
0
        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");
        }