this.project = project;
this.className = className;
this.baseClass = baseClass;
cinfo = new ClassInfo();
cinfo.cInit = new MethodInfo();
IMethodVisitor cInitVisitor = visitor.visitMethod(cinfo.cInit);
cInitVisitor.visit();
MethodBodyInfo cInitMethodBodyInfo = new MethodBodyInfo();
cInitMethodBodyInfo.setMethodInfo(cinfo.cInit);
IMethodBodyVisitor cInitMethodBodyVisitor = cInitVisitor.visitBody(cInitMethodBodyInfo);
cInitMethodBodyVisitor.visit();
cInitMethodBodyVisitor.visitInstructionList(cinitInstructions);
cInitMethodBodyVisitor.visitEnd();
cInitVisitor.visitEnd();
iinfo = new InstanceInfo();
if(hasProtectedMembers)
{
iinfo.flags |= ABCConstants.CONSTANT_ClassProtectedNs;
iinfo.protectedNs = new Namespace(ABCConstants.CONSTANT_ProtectedNs,
className.getSingleQualifier().getName() + ":" +className.getBaseName());
}
iinfo.interfaceNames = implementedInterfaces.toArray(new Name[implementedInterfaces.size()]);
iinfo.name = className;
iinfo.superName = baseClass.getMName(project);
iinfo.iInit = new MethodInfo();
iinfo.iInit.setParamTypes(new Vector<Name>(iinitParameterTypes));
iTraitsInitMethodVisitor = visitor.visitMethod(iinfo.iInit);
iTraitsInitMethodVisitor.visit();
MethodBodyInfo iTraitsInitMethodBodyInfo = new MethodBodyInfo();
iTraitsInitMethodBodyInfo.setMethodInfo(iinfo.iInit);