Carlos Bruguera [http://community.jboss.org/people/cbruguera] created the discussion
"ClassFile write(java.io.DataOutputStream out) generates empty file!!" To view the discussion, visit: http://community.jboss.org/message/585764#585764 -------------------------------------------------------------- Hello all, I'm working in a compiler that is generating bytecode, and I wish to only use those javassist classes that work with low-level bytecode (Bytecode, ClassFile, MethodInfo, FieldInfo, etc.). I'm not interested in high level runtime translation of any java code (so I barely need to use CtClass and similar). The thing is I'm creating a ClassFile object, adding a MethodInfo structure, based on an existent bytecode object (mainCode) which I know is well built. But at the end I'm trying to write the file, and it creates it, but as a 0 byte .class file. Is there anything that I might be missing?.. Here's my piece of code: ClassFile initClass = getOrCreateClass("InitClass"); declaring = initClass; MethodInfo mainMethod = new MethodInfo(initClass.getConstPool(), "main", Descriptor.ofMethod(CtClass.voidType, new CtClass[0])); mainMethod.setCodeAttribute(mainCode.toCodeAttribute()); mainMethod.setAccessFlags(AccessFlag.PUBLIC); try{ initClass.addMethod(mainMethod); }catch(DuplicateMemberException e){ Errors.add("Definicion duplicada para \"Accion Principal\""); } writeFile(initClass); The method getOrCreateClass is successfully instantiating a new ClassFile object and returning it. ...Any ideas? -------------------------------------------------------------- Reply to this message by going to Community [http://community.jboss.org/message/585764#585764] Start a new discussion in Javassist at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2062]
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
