Beispiel #1
0
        public static string Resolve(Program program, ErrorReporter reporter)
        {
            if (Bpl.CommandLineOptions.Clo.NoResolve || Bpl.CommandLineOptions.Clo.NoTypecheck)
            {
                return(null);
            }

            Microsoft.Armada.Resolver r = new Microsoft.Armada.Resolver(program);
            r.ResolveProgram(program);
            MaybePrintProgram(program, ArmadaOptions.O.DafnyPrintResolvedFile, true);
            PrintLevels(program);

            if (reporter.Count(ErrorLevel.Error) != 0)
            {
                return(string.Format("{0} resolution/type errors detected in {1}", reporter.Count(ErrorLevel.Error), program.Name));
            }

            return(null); // success
        }