/// <summary> /// Extracts type information from the typeless rewritten programs. /// </summary> /// <param name="host"></param> /// <param name="ivs"></param> public void ReconstructTypes() { foreach (var program in Project.Programs) { TypeAnalyzer analyzer = new TypeAnalyzer(eventListener); try { try { analyzer.RewriteProgram(program); } catch (Exception ex) { eventListener.Error(new NullCodeLocation(""), ex, "Error when reconstructing types."); } } finally { host.WriteTypes(program, analyzer.WriteTypes); } } }