public override void PrintCode (CodeWriter cp) { if (tryBlock == null) return; cp.Write ("try {"); cp.Indent (); condition.PrintCode (cp); cp.Unindent (); foreach (DictionaryEntry de in catchBlocks) { CodeVariableDeclaration vd = (CodeVariableDeclaration) de.Key; cp.Write ("} catch ("); if (vd.Variable.Name.Length > 0) vd.PrintCode (cp); else cp.Write (vd.Variable.Type.FullName); cp.Write (") {"); cp.Indent (); ((CodeBlock) de.Value).PrintCode (cp); cp.Unindent (); } if (!finallyBlock.IsEmpty) { cp.Write ("} finally {"); cp.Indent (); finallyBlock.PrintCode (cp); cp.Unindent (); } cp.Write ("}"); }