private static boolean hasOuterClassSyntheticReference(JavaClass cls) { Field[] fields = cls.getFields(); for (Field f : fields) { if (f.isSynthetic()) { String sig = f.getSignature(); if (sig.startsWith(Values.SIG_QUALIFIED_CLASS_PREFIX)) { sig = SignatureUtils.trimSignature(sig); if (cls.getClassName().startsWith(sig)) { return true; } } } } return false; }
private static boolean hasOuterClassSyntheticReference(JavaClass cls) { Field[] fields = cls.getFields(); for (Field f : fields) { if (f.isSynthetic()) { String sig = f.getSignature(); if (sig.startsWith(Values.SIG_QUALIFIED_CLASS_PREFIX)) { sig = SignatureUtils.trimSignature(sig); if (cls.getClassName().startsWith(sig)) { return true; } } } } return false; }
private List<FieldOrMethod> getMembers(JavaClass javaClass, List<JavaClass> interfaces) { Set<String> methodNames = new HashSet<>(); ArrayList<FieldOrMethod> members = new ArrayList<>(); List<Method> allInterfacesMethods = getAllInterfacesMethods(interfaces); List<Method> methods = new ArrayList<>(); methods.addAll(Arrays.asList(javaClass.getMethods())); methods.addAll(allInterfacesMethods); for (Method m : methods) { if ((m.isPublic() || m.isProtected()) && !m.isSynthetic()) { members.add(m); methodNames.add(m.getName()); } } for (Field f : javaClass.getFields()) { if ((f.isPublic() || f.isProtected()) && !f.isSynthetic() && !methodNames.contains(f.getName())) { members.add(f); } } return members; }
@Override public void visitField(Field obj) { if (!isInnerClass && obj.isPrivate() && !obj.isSynthetic()) { String sig = obj.getSignature(); if (sig.startsWith(Values.SIG_QUALIFIED_CLASS_PREFIX)) { String type = SignatureUtils.stripSignature(sig); if (doesObjectNeedToBeWatched(type)) { fieldSpecialObjects.put(obj.getName(), obj.getSignature()); } } } }
/** * looks for fields that are candidates for serialization * * @param cls * the class to look for fields * @return if their is a field that looks like it should be serialized */ private static boolean hasSerializableFields(JavaClass cls) { Field[] fields = cls.getFields(); for (Field f : fields) { if (!f.isStatic() && !f.isTransient() && !f.isSynthetic()) { return true; } } return false; }
@Override public void visitField(Field obj) { if (!isInnerClass && obj.isPrivate() && !obj.isSynthetic()) { String sig = obj.getSignature(); if (sig.startsWith(Values.SIG_QUALIFIED_CLASS_PREFIX)) { String type = SignatureUtils.stripSignature(sig); if (doesObjectNeedToBeWatched(type)) { fieldSpecialObjects.put(obj.getName(), obj.getSignature()); } } } }
/** * looks for fields that are candidates for serialization * * @param cls * the class to look for fields * @return if their is a field that looks like it should be serialized */ private static boolean hasSerializableFields(JavaClass cls) { Field[] fields = cls.getFields(); for (Field f : fields) { if (!f.isStatic() && !f.isTransient() && !f.isSynthetic()) { return true; } } return false; }
nameToField = new HashMap<>(); for (Field f : cls.getFields()) { if (f.isPrivate() && !f.isSynthetic()) { String fieldSig = f.getSignature(); if ((!fieldSig.startsWith("L") && !fieldSig.startsWith("[")) || Values.SIG_JAVA_LANG_STRING.equals(fieldSig)) {
nameToField = new HashMap<>(); for (Field f : cls.getFields()) { if (f.isPrivate() && !f.isSynthetic()) { String fieldSig = f.getSignature(); if ((!fieldSig.startsWith("L") && !fieldSig.startsWith("[")) || Values.SIG_JAVA_LANG_STRING.equals(fieldSig)) {
@Override public void visitField(Field f) { if (!f.isSynthetic() && (f.getName().indexOf(Values.SYNTHETIC_MEMBER_CHAR) < 0)) { switch (fieldStatus) { case NONE: if (!f.isStatic()) { fieldStatus = FieldStatus.SAW_INSTANCE; } break; case SAW_INSTANCE: if (f.isStatic()) { bugReporter.reportBug( new BugInstance(this, BugType.IMC_IMMATURE_CLASS_WRONG_FIELD_ORDER.name(), LOW_PRIORITY).addClass(this).addField(this)); fieldStatus = FieldStatus.REPORTED; } break; case REPORTED: break; } } }
if (!f.isStatic() && !f.isSynthetic()) {
if (!f.isStatic() && !f.isSynthetic()) {
@Override public void visitField(Field f) { if (!f.isSynthetic() && (f.getName().indexOf(Values.SYNTHETIC_MEMBER_CHAR) < 0)) { switch (fieldStatus) { case NONE: