public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { return target.visitField(access, name, desc, signature, value); }
@Override public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { String fieldDesc = className + ":" + name + ":" + desc; if (!refFieldSet.contains(fieldDesc)) { refFieldSet.add(fieldDesc); fieldCount++; } return super.visitField(access, name, desc, signature, value); } };
public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { return target.visitField(access, name, desc, signature, value); }
private static void implementInstanceFields(ClassVisitor classVisitor) { classVisitor.visitField(Opcodes.ACC_PRIVATE | Opcodes.ACC_FINAL, "waitStrategy", Type.getDescriptor(WaitStrategy.class), null, null); }
@Override public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) { if("Lio/netty/channel/Channel;".equals(descriptor)) { hasChannelDescriptor = true; } return super.visitField(access, name, descriptor, signature, value); }
public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { FieldVisitor fv1 = cv1.visitField(access, name, desc, signature, value); FieldVisitor fv2 = cv2.visitField(access, name, desc, signature, value); if (fv1 == null) return fv2; if (fv2 == null) return fv1; return new FieldVisitorTee(fv1, fv2); }
@Override public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { if (name.equals(KEY_ELEMENT_FIELD) && desc.equals(KEY_ELEMENT_FIELD_DESC)) { existKeyElementField = true; } return super.visitField(access, name, desc, signature, value); }
public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { FieldVisitor fv1 = cv1.visitField(access, name, desc, signature, value); FieldVisitor fv2 = cv2.visitField(access, name, desc, signature, value); if (fv1 == null) return fv2; if (fv2 == null) return fv1; return new FieldVisitorTee(fv1, fv2); }
@Override protected void startClass(ClassVisitor classWriter, String className, Type superType) { String[] interfaces = getImplementedInterfaceInternalNames(); classWriter.visit(V1_8, ACC_PUBLIC, className, null, !isInterface ? superType.getInternalName() : null, interfaces); classWriter.visitField(ACC_FINAL | ACC_PRIVATE, FIELD_INTERCEPTORS, FIELD_TYPE_INTERCEPTORS.getDescriptor(), null, null); classWriter.visitField(ACC_FINAL | ACC_PRIVATE, FIELD_PROXY_METHODS, FIELD_TYPE_PROXY_METHODS.getDescriptor(), null, null); }
@Override public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { // check if class has already been modified if (markerAlreadyTransformed.equals(name) && desc.equals("Z")) { transformedState.setAlreadyTransformed(true); } return super.visitField(access, name, desc, signature, value); }
@Override public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) { super.visit(version, access, name, signature, superName, interfaces); this.owner = name; if (noField.contains(name) == false) { // add trace fields super.visitField(ACC_PUBLIC, TraceSQL.PSTMT_PARAM_FIELD, Type.getDescriptor(SqlParameter.class), null, null) .visitEnd(); } }
@Override public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) { super.visit(version, access, name, signature, superName, interfaces); if (exist == false) { super.visitField(ACC_PUBLIC, field, Type.getDescriptor(Object.class), null, null).visitEnd(); } } @Override
@Override public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { if (name.equals(field)) { exist = true; Logger.println("A901", "fail to add the field " + name + " on " + className); } return super.visitField(access, name, desc, signature, value); } }
public void declare_field(int access, String name, Type type, Object value) { FieldInfo existing = (FieldInfo)fieldInfo.get(name); FieldInfo info = new FieldInfo(access, name, type, value); if (existing != null) { if (!info.equals(existing)) { throw new IllegalArgumentException("Field \"" + name + "\" has been declared differently"); } } else { fieldInfo.put(name, info); cv.visitField(access, name, type.getDescriptor(), null, value); } }
public void declare_field(int access, String name, Type type, Object value) { FieldInfo existing = (FieldInfo)fieldInfo.get(name); FieldInfo info = new FieldInfo(access, name, type, value); if (existing != null) { if (!info.equals(existing)) { throw new IllegalArgumentException("Field \"" + name + "\" has been declared differently"); } } else { fieldInfo.put(name, info); cv.visitField(access, name, type.getDescriptor(), null, value); } }
public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { if (signature!=null) signatures.put(name,signature); return super.visitField(access, name, desc, signature, value); } public MethodVisitor visitMethod(int access, String name, String desc,
@Override public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value) { Printer p = this.p.visitField(access, name, desc, signature, value); FieldVisitor fv = cv == null ? null : cv.visitField(access, name, desc, signature, value); return new TraceFieldVisitor(fv, p); }
@Override public void visitEnd() { if (transformedState.transformationsMade()) { cv.visitField(ACC_PUBLIC + ACC_STATIC, markerAlreadyTransformed, "Z", null, null).visitEnd(); } super.visitEnd(); }
FieldVisitor fv = cv.visitField(fieldNode.access & FieldCleanFlag, fieldNode.field.getName(), fieldNode.field.getType(), signature, value); if (fv == null) {
/** * Emits the bytecode for all fields of the class */ protected void generateFields() { for (SootField f : sc.getFields()) { if (f.isPhantom()) { continue; } String name = f.getName(); String desc = toTypeDesc(f.getType()); String sig = null; if (f.hasTag("SignatureTag")) { SignatureTag genericSignature = (SignatureTag) f.getTag("SignatureTag"); sig = genericSignature.getSignature(); } Object value = getDefaultValue(f); int access = getModifiers(f.getModifiers(), f); FieldVisitor fv = cv.visitField(access, name, desc, sig, value); if (fv != null) { generateAnnotations(fv, f); generateAttributes(fv, f); fv.visitEnd(); } } }