public void WriteDecompiledTypes(Program program, TextWriter w)
{
WriteHeaderComment(Path.GetFileName(program.TypesFilename), program, w);
w.WriteLine("/*"); program.TypeStore.Write(w); w.WriteLine("*/");
var tf = new TextFormatter(w)
{
Indentation = 0,
};
var fmt = new TypeFormatter(tf);
foreach (EquivalenceClass eq in program.TypeStore.UsedEquivalenceClasses)
{
if (eq.DataType != null)
{
tf.WriteKeyword("typedef"); //$REVIEW: C/C++-specific
tf.Write(" ");
fmt.Write(eq.DataType, eq.Name);
w.WriteLine(";");
w.WriteLine();
}
}
}