cg.addField(field);
private void createField(Element field) throws IllegalXMLVMException { String name= field.getAttributeValue("name"); Type t= parseTypeString(field.getAttributeValue("type")); short flags= getAccessFlags(field); FieldGen f= new FieldGen(flags, t, name, constantPoolGen); classGen.addField(f.getField()); }
/** * @param encodedFieldName the encoded field name */ protected void addField(String encodedFieldName) { if (!internalFieldRepresentingClasses.contains(encodedFieldName)) { //System.out.println("method."+method.getName()+".addingfield[" // + _encodedFieldName + "]"); FieldGen field = new FieldGen(Constants.ACC_STATIC, new ObjectType("java.lang.Class"), encodedFieldName, constantsPool); classGen.addField(field.getField()); internalFieldRepresentingClasses.add(encodedFieldName); } }
private void JVMTools_allocateStaticField(Class vartype, String varname, int public_or_private) { FieldGen fg = new FieldGen(public_or_private | ACC_STATIC | ACC_FINAL, getObjectType(vartype), varname, cp); cg.addField(fg.getField()); }
private void JVMTools_allocateField(Class vartype, String varname) { FieldGen fg = new FieldGen(ACC_PRIVATE, getObjectType(vartype), varname, cp); cg.addField(fg.getField()); }
/** * Creates a static field _sslContext of type {@link SSLSocketFactory}. * * @param classGen * @param constantPoolGen */ private static void createSslContextStaticField(ClassGen classGen, ConstantPoolGen constantPoolGen) { FieldGen fieldGen = new FieldGen(ACC_PRIVATE | ACC_STATIC, Type.getType(SSLSocketFactory.class), SSL_SOCKET_FACTORY_FIELD, constantPoolGen); classGen.addField(fieldGen.getField()); }
/** * Add method * <pre> * private transient org.codehaus.jremoting.client.StubHelper stubHelper; * </pre> */ protected void createFields() { FieldGen field; field = new FieldGen(Constants.ACC_PRIVATE | Constants.ACC_TRANSIENT, new ObjectType("org.codehaus.jremoting.client.StubHelper"), "stubHelper", constantsPool); classGen.addField(field.getField()); }
/** * Add a static field */ private void addStaticField(ClassGenerator classGen, String type, String name) { final FieldGen fgen = new FieldGen(ACC_PROTECTED|ACC_STATIC, Util.getJCRefType(type), name, classGen.getConstantPool()); classGen.addField(fgen.getField()); }
private void addDOMField(ClassGenerator classGen) { final FieldGen fgen = new FieldGen(ACC_PUBLIC, Util.getJCRefType(DOM_INTF_SIG), DOM_FIELD, classGen.getConstantPool()); classGen.addField(fgen.getField()); }
private void addDOMField(ClassGenerator classGen) { final FieldGen fgen = new FieldGen(ACC_PUBLIC, Util.getJCRefType(DOM_INTF_SIG), DOM_FIELD, classGen.getConstantPool()); classGen.addField(fgen.getField()); }
/** * Add a static field */ private void addStaticField(ClassGenerator classGen, String type, String name) { final FieldGen fgen = new FieldGen(ACC_PROTECTED|ACC_STATIC, Util.getJCRefType(type), name, classGen.getConstantPool()); classGen.addField(fgen.getField()); }
sortRecord.addField(new Field(ACC_PUBLIC, cpg.addUtf8(var.getEscapedName()), cpg.addUtf8(var.getType().toSignature()),
/** * Generates the wrapper byte code for a given interface. * * @param interfacesToImplement The interfaces we want to generate wrapper * byte code for * @return byte[] The generated byte code */ private byte[] buildWrapper( final JavaClass[] interfacesToImplement ) throws Exception { // Create field for the wrapped class m_classGenerator.addField( m_codeGenerator.createWrappedClassField() ); // Create default constructor m_classGenerator.addMethod( m_codeGenerator.createDefaultConstructor() ); //Create field accessor for wrapped class instance m_classGenerator.addMethod( m_codeGenerator.createWrappedClassAccessor() ); // Implement interfaces Method[] interfaceMethods = m_codeGenerator.createImplementation( interfacesToImplement ); for ( int j = 0; j < interfaceMethods.length; ++j ) { m_classGenerator.addMethod( interfaceMethods[j] ); } return m_classGenerator.getJavaClass().getBytes(); } }
public JavaClass generate(SourceOfRandomness r, GenerationStatus s) { constants = new ConstantPoolGen(); // Generate a class with its meta-data String className = "example.A"; String superName = r.nextBoolean() ? "example.B" : "java.lang.Object"; String fileName = "A.class"; int flags = r.nextInt(0, Short.MAX_VALUE); int numInterfaces = r.nextBoolean() ? 0 : geom.sampleWithMean(MEAN_INTERFACE_COUNT, r); String[] interfaces = new String[numInterfaces]; for (int i = 0; i < numInterfaces; i++) { interfaces[i] = "example.I"+i; } ClassGen classGen = new ClassGen(className, superName, fileName, flags, interfaces, constants); // Validate flags Assume.assumeFalse(classGen.isFinal() && (classGen.isAbstract() | classGen.isInterface())); int numFields = geom.sampleWithMean(MEAN_FIELDS_COUNT, r); for (int i = 0; i < numFields; i++) { classGen.addField(generateField(r)); } int numMethods = geom.sampleWithMean(MEAN_METHODS_COUNT, r); for (int i = 0; i < numMethods; i++) { classGen.addMethod(generateMethod(className, r)); } return classGen.getJavaClass(); }
/** * Initialize with existing class. * @param clazz JavaClass object (e.g. read from file) */ public ClassGen(JavaClass clazz) { class_name_index = clazz.getClassNameIndex(); superclass_name_index = clazz.getSuperclassNameIndex(); class_name = clazz.getClassName(); super_class_name = clazz.getSuperclassName(); file_name = clazz.getSourceFileName(); access_flags = clazz.getAccessFlags(); cp = new ConstantPoolGen(clazz.getConstantPool()); major = clazz.getMajor(); minor = clazz.getMinor(); Attribute[] attributes = clazz.getAttributes(); Method[] methods = clazz.getMethods(); Field[] fields = clazz.getFields(); String[] interfaces = clazz.getInterfaceNames(); for(int i=0; i < interfaces.length; i++) addInterface(interfaces[i]); for(int i=0; i < attributes.length; i++) addAttribute(attributes[i]); for(int i=0; i < methods.length; i++) addMethod(methods[i]); for(int i=0; i < fields.length; i++) addField(fields[i]); }
classGen.addField(new Field(ACC_PUBLIC, cpg.addUtf8(name), cpg.addUtf8(signature),
clg.addField(fg.getField()); f = clg.getFields()[1]; // there are two fields in the class, removing
classGen.addField(defaultNode);
classGen.addField(defaultNode);