private void EmitConstantFieldInits(CljILGen ilg)
{
try
{
Var.pushThreadBindings(RT.map(RT.PrintDupVar, true));
for (int i = 0; i < Constants.count(); i++)
{
if (ConstantFields[i] != null)
{
EmitValue(Constants.nth(i), ilg);
if ( Constants.nth(i).GetType() != ConstantType(i) )
ilg.Emit(OpCodes.Castclass, ConstantType(i));
FieldBuilder fb = ConstantFields[i];
ilg.Emit(OpCodes.Stsfld,fb);
}
}
}
finally
{
Var.popThreadBindings();
}
}