public void addAllDefinitions(JavaClass obj) { String className2 = obj.getClassName(); defined.add(className2); for (Method m : obj.getMethods()) { if (!m.isPrivate()) { String name = getMemberName(obj, className2, m.getNameIndex(), m.getSignatureIndex()); defined.add(name); } } for (Field f : obj.getFields()) { if (!f.isPrivate()) { String name = getMemberName(obj, className2, f.getNameIndex(), f.getSignatureIndex()); defined.add(name); } } }
if (f.isPrivate()) { XField xf = XFactory.getExactXField(classContext.getClassDescriptor().getClassName(), f); FieldStats stats = statMap.get(xf);
String fieldName; for (Field field : fields) { if (!field.isStatic() && !field.isPrivate()) { fieldName = field.getName(); classFields.put(fieldName, field);
if (aField.isPrivate()) {
@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()); } } } }
@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 to see if this field is a logger, and declared non privately * * @param fieldClsName * the owning class type of the field * @param fieldName * the name of the field * @param fieldSig * the signature of the field * @return if the field is a logger and not private */ private boolean isNonPrivateLogField(@SlashedClassName String fieldClsName, String fieldName, String fieldSig) { String fieldType = SignatureUtils.trimSignature(fieldSig); if (!SLF4J_LOGGER.equals(fieldType) && !COMMONS_LOGGER.equals(fieldType) && !LOG4J_LOGGER.equals(fieldType) && !LOG4J2_LOGGER.equals(fieldType)) { return false; } JavaClass cls = getClassContext().getJavaClass(); if (!cls.getClassName().equals(fieldClsName.replace('/', '.'))) { return false; } for (Field f : getClassContext().getJavaClass().getFields()) { if (f.getName().equals(fieldName)) { return !f.isPrivate(); } } return true; }
/** * looks to see if this field is a logger, and declared non privately * * @param fieldClsName * the owning class type of the field * @param fieldName * the name of the field * @param fieldSig * the signature of the field * @return if the field is a logger and not private */ private boolean isNonPrivateLogField(@SlashedClassName String fieldClsName, String fieldName, String fieldSig) { String fieldType = SignatureUtils.trimSignature(fieldSig); if (!SLF4J_LOGGER.equals(fieldType) && !COMMONS_LOGGER.equals(fieldType) && !LOG4J_LOGGER.equals(fieldType) && !LOG4J2_LOGGER.equals(fieldType)) { return false; } JavaClass cls = getClassContext().getJavaClass(); if (!cls.getClassName().equals(fieldClsName.replace('/', '.'))) { return false; } for (Field f : getClassContext().getJavaClass().getFields()) { if (f.getName().equals(fieldName)) { return !f.isPrivate(); } } return true; }
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 obj) { if (obj.isPrivate() && isMap(obj)) { mapFields.put(obj.getName(), new FieldAnnotation(getDottedClassName(), obj.getName(), obj.getSignature(), obj.isStatic())); } }
@Override public void visit(Field field) { if (!field.isPrivate() && Objects.equal(field.getSignature(), "Lorg/slf4j/Logger;")) { BugInstance bug = new BugInstance(this, "SLF4J_LOGGER_SHOULD_BE_PRIVATE", NORMAL_PRIORITY) .addString(field.getName()) .addField(this) .addClass(this); bugReporter.reportBug(bug); } }
public void addAllDefinitions(JavaClass obj) { String className2 = obj.getClassName(); defined.add(className2); for (Method m : obj.getMethods()) { if (!m.isPrivate()) { String name = getMemberName(obj, className2, m.getNameIndex(), m.getSignatureIndex()); defined.add(name); } } for (Field f : obj.getFields()) { if (!f.isPrivate()) { String name = getMemberName(obj, className2, f.getNameIndex(), f.getSignatureIndex()); defined.add(name); } } }
@Override public void visitField(Field field) { if (!isInterface && "serialVersionUID".equals(field.getName()) && (field.isStatic()) && (!field.isPrivate())) { bugReporter.reportBug(new BugInstance(this, BugType.SPP_SERIALVER_SHOULD_BE_PRIVATE.name(), LOW_PRIORITY).addClass(this).addField(this)); } }
@Override public void visitField(Field field) { if (!isInterface && "serialVersionUID".equals(field.getName()) && (field.isStatic()) && (!field.isPrivate())) { bugReporter.reportBug(new BugInstance(this, BugType.SPP_SERIALVER_SHOULD_BE_PRIVATE.name(), LOW_PRIORITY).addClass(this).addField(this)); } }
@Override public void visitField(Field obj) { if (obj.isPrivate() && isMap(obj)) { mapFields.put(obj.getName(), new FieldAnnotation(getDottedClassName(), obj.getName(), obj.getSignature(), obj.isStatic())); } }
/** * implements the visitor to find collection fields * * @param obj * the context object of the currently parse field */ @Override public void visitField(Field obj) { if (obj.isPrivate()) { String signature = obj.getSignature(); if (signature.startsWith(Values.SIG_QUALIFIED_CLASS_PREFIX)) { try { JavaClass cls = Repository.lookupClass(SignatureUtils.stripSignature(signature)); if (cls.implementationOf(collectionClass) || cls.implementationOf(mapClass)) { FieldAnnotation fa = FieldAnnotation.fromVisitedField(this); collectionFields.put(fa.getFieldName(), new FieldInfo(fa)); } } catch (ClassNotFoundException cnfe) { bugReporter.reportMissingClass(cnfe); } } } }
/** * implements the visitor to find collection fields * * @param obj * the context object of the currently parse field */ @Override public void visitField(Field obj) { if (obj.isPrivate()) { String signature = obj.getSignature(); if (signature.startsWith(Values.SIG_QUALIFIED_CLASS_PREFIX)) { try { JavaClass cls = Repository.lookupClass(SignatureUtils.stripSignature(signature)); if (cls.implementationOf(collectionClass) || cls.implementationOf(mapClass)) { FieldAnnotation fa = FieldAnnotation.fromVisitedField(this); collectionFields.put(fa.getFieldName(), new FieldInfo(fa)); } } catch (ClassNotFoundException cnfe) { bugReporter.reportMissingClass(cnfe); } } } }
if (!f.isStatic() && !f.isVolatile() && (f.getName().indexOf(Values.SYNTHETIC_MEMBER_CHAR) < 0) && f.isPrivate()) { FieldAnnotation fa = new FieldAnnotation(cls.getClassName(), f.getName(), f.getSignature(), false); boolean hasExternalAnnotation = false;
if (aField.isPrivate()) {