{
classInfo.cInit = new MethodInfo();
MethodBodyInfo m_cinit = new MethodBodyInfo();
m_cinit.setMethodInfo(classInfo.cInit);
IMethodVisitor mv = visitMethod(classInfo.cInit);
mv.visit();
IMethodBodyVisitor mbv = mv.visitBody(m_cinit);
mbv.visit();
mbv.visitInstruction(OP_returnvoid);
mbv.visitEnd();
mv.visitEnd();
}
visitPooledName(instanceInfo.name);
visitPooledName(instanceInfo.superName);
if (instanceInfo.hasProtectedNs())
visitPooledNamespace(instanceInfo.protectedNs);
if (null == instanceInfo.iInit)
{
instanceInfo.iInit = new MethodInfo();
MethodBodyInfo iinit = new MethodBodyInfo();
iinit.setMethodInfo(instanceInfo.iInit);
IMethodVisitor mv = visitMethod(instanceInfo.iInit);
mv.visit();
// Interfaces need an instance init method,
// but it doesn't have a body.
if (0 == (instanceInfo.flags & ABCConstants.CLASS_FLAG_interface))
{
IMethodBodyVisitor mbv = mv.visitBody(iinit);
mbv.visit();
mbv.visitInstruction(OP_getlocal0);
mbv.visitInstruction(OP_pushscope);
mbv.visitInstruction(OP_getlocal0);
mbv.visitInstruction(ABCConstants.OP_constructsuper, 0);
mbv.visitInstruction(OP_returnvoid);
mbv.visitEnd();
}
mv.visitEnd();
}
if (instanceInfo.interfaceNames != null)
{
for (Name interface_name : instanceInfo.interfaceNames)