internal override void Generate(CodeGenContext context, CodeEmitter ilgen)
{
ilgen.BeginExceptionBlock();
@try.Generate(context, ilgen);
if(@catch != null)
{
Type type;
if(@catch.type != null)
{
type = StaticCompiler.GetTypeForMapXml(context.ClassLoader, @catch.type);
}
else
{
type = context.ClassLoader.LoadClassByDottedName(@catch.Class).TypeAsExceptionType;
}
ilgen.BeginCatchBlock(type);
@catch.Generate(context, ilgen);
}
if(@finally != null)
{
ilgen.BeginFinallyBlock();
@finally.Generate(context, ilgen);
}
ilgen.EndExceptionBlock();
}