private void EmitConstantDudeInitializers(ClassFileWriter cfw)
{
int N = itsConstantListSize;
if (N == 0)
{
return;
}
cfw.StartMethod("<clinit>", "()V", (short)(ClassFileWriter.ACC_STATIC | ClassFileWriter.ACC_FINAL));
double[] array = itsConstantList;
for (int i = 0; i != N; ++i)
{
double num = array[i];
string constantName = "_k" + i;
string constantType = GetStaticConstantWrapperType(num);
cfw.AddField(constantName, constantType, (short)(ClassFileWriter.ACC_STATIC | ClassFileWriter.ACC_PRIVATE));
int inum = (int)num;
if (inum == num)
{
cfw.AddPush(inum);
cfw.AddInvoke(ByteCode.INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;");
}
else
{
cfw.AddPush(num);
AddDoubleWrap(cfw);
}
cfw.Add(ByteCode.PUTSTATIC, mainClassName, constantName, constantType);
}
cfw.Add(ByteCode.RETURN);
cfw.StopMethod((short)0);
}