private String getNameInClass(ClassAnnotation primaryClass) { if (primaryClass == null) { return className + "." + fieldName; } String givenPackageName = primaryClass.getPackageName(); String thisPackageName = this.getPackageName(); if (thisPackageName.equals(givenPackageName)) { if (thisPackageName.length() == 0) { return fieldName; } else { return className.substring(thisPackageName.length() + 1) + "." + fieldName; } } return className + "." + fieldName; }
@Override protected String formatPackageMember(String key, ClassAnnotation primaryClass) { if ("".equals(key) || "hash".equals(key)) { return className; } else if ("givenClass".equals(key)) { return shorten(primaryClass.getPackageName(), className); } else if ("excludingPackage".equals(key)) { return shorten(getPackageName(), className); } else if ("simpleClass".equals(key) || "simpleName".equals(key)) { return ClassName.extractSimpleName(className); } else { throw new IllegalArgumentException("unknown key " + key); } }
public void countBug(BugInstance b) { String packageName = b.getPrimaryClass().getPackageName(); countPackageMember(packageName); }
@Override public String format(String key, ClassAnnotation primaryClass) { String name = new SignatureConverter(descriptor).parseNext().replace("java.lang.", ""); if ("givenClass".equals(key)) { name = PackageMemberAnnotation.shorten(primaryClass.getPackageName(), name); } else if ("excludingPackage".equals(key)) { name = PackageMemberAnnotation.removePackage(name); } if (typeParameters != null && !"hash".equals(key)) { name = name + typeParameters; } return name; }
@Override protected String formatPackageMember(String key, ClassAnnotation primaryClass) { if ("".equals(key) || "hash".equals(key)) { return className + "." + fieldName; } else if ("givenClass".equals(key)) { String primaryClassName = primaryClass.getClassName(); if (className.equals(primaryClassName)) { return getNameInClass(primaryClass); } else { return shorten(primaryClass.getPackageName(), className) + "." + fieldName; } } else if ("name".equals(key)) { return fieldName; } else if ("fullField".equals(key)) { SignatureConverter converter = new SignatureConverter(fieldSig); StringBuilder result = new StringBuilder(); if (isStatic) { result.append("static "); } result.append(converter.parseNext()); result.append(' '); result.append(className); result.append('.'); result.append(fieldName); return result.toString(); } else { throw new IllegalArgumentException("unknown key " + key); } }
} else if ("givenClass".equals(key)) { if (Const.CONSTRUCTOR_NAME.equals(methodName)) { return "new " + shorten(primaryClass.getPackageName(), className) + getSignatureInClass(primaryClass); return shorten(primaryClass.getPackageName(), className) + "." + getNameInClass(primaryClass); int i = methodSig.indexOf(')'); String returnType = methodSig.substring(i + 1); String pkgName = primaryClass == null ? "" : primaryClass.getPackageName(); SignatureConverter converter = new SignatureConverter(returnType); return shorten(pkgName, converter.parseNext());
/** * Format the annotation. Note that this version (defined by * PackageMemberAnnotation) only handles the "class" and "package" keys, and * calls formatPackageMember() for all other keys. * * @param key * the key * @return the formatted annotation */ @Override public final String format(String key, ClassAnnotation primaryClass) { if ("class.givenClass".equals(key)) { return shorten(primaryClass.getPackageName(), className); } if ("simpleClass".equals(key)) { return ClassName.extractSimpleName(className); } if ("class".equals(key)) { return className; } if ("package".equals(key)) { return getPackageName(); } if ("".equals(key) && FindBugsDisplayFeatures.isAbridgedMessages() && primaryClass != null) { return formatPackageMember("givenClass", primaryClass); } return formatPackageMember(key, primaryClass); }
@Override public void reportBug(@Nonnull BugInstance bugInstance) { if (!category.equals(bugInstance.getBugPattern().getCategory())) { getDelegate().reportBug(bugInstance); return; } if (check.isEmpty()) { return; } ClassAnnotation c = bugInstance.getPrimaryClass(); @DottedClassName String packageName = c.getPackageName(); while (true) { if (check.contains(packageName)) { getDelegate().reportBug(bugInstance); return; } else if (dontCheck.contains(packageName)) { return; } int i = packageName.lastIndexOf('.'); if (i < 0) { return; } packageName = packageName.substring(0, i); } }
String prefix = ClassName.extractPackagePrefix(b.getPrimaryClass().getPackageName(), prefixLength); Integer v = map.get(prefix); if (v == null) {
private String getNameInClass(ClassAnnotation primaryClass) { if (primaryClass == null) { return className + "." + fieldName; } String givenPackageName = primaryClass.getPackageName(); String thisPackageName = this.getPackageName(); if (thisPackageName.equals(givenPackageName)) { if (thisPackageName.length() == 0) { return fieldName; } else { return className.substring(thisPackageName.length() + 1) + "." + fieldName; } } return className + "." + fieldName; }
@Override protected String formatPackageMember(String key, ClassAnnotation primaryClass) { if ("".equals(key) || "hash".equals(key)) { return className; } else if ("givenClass".equals(key)) { return shorten(primaryClass.getPackageName(), className); } else if ("excludingPackage".equals(key)) { return shorten(getPackageName(), className); } else if ("simpleClass".equals(key) || "simpleName".equals(key)) { return ClassName.extractSimpleName(className); } else { throw new IllegalArgumentException("unknown key " + key); } }
public void countBug(BugInstance b) { String packageName = b.getPrimaryClass().getPackageName(); countPackageMember(packageName); }
@Override public String format(String key, ClassAnnotation primaryClass) { String name = new SignatureConverter(descriptor).parseNext().replace("java.lang.", ""); if ("givenClass".equals(key)) { name = PackageMemberAnnotation.shorten(primaryClass.getPackageName(), name); } else if ("excludingPackage".equals(key)) { name = PackageMemberAnnotation.removePackage(name); } if (typeParameters != null && !"hash".equals(key)) { name = name + typeParameters; } return name; }
@Override protected String formatPackageMember(String key, ClassAnnotation primaryClass) { if ("".equals(key) || "hash".equals(key)) { return className + "." + fieldName; } else if ("givenClass".equals(key)) { String primaryClassName = primaryClass.getClassName(); if (className.equals(primaryClassName)) { return getNameInClass(primaryClass); } else { return shorten(primaryClass.getPackageName(), className) + "." + fieldName; } } else if ("name".equals(key)) { return fieldName; } else if ("fullField".equals(key)) { SignatureConverter converter = new SignatureConverter(fieldSig); StringBuilder result = new StringBuilder(); if (isStatic) { result.append("static "); } result.append(converter.parseNext()); result.append(' '); result.append(className); result.append('.'); result.append(fieldName); return result.toString(); } else { throw new IllegalArgumentException("unknown key " + key); } }
} else if ("givenClass".equals(key)) { if ("<init>".equals(methodName)) { return "new " + shorten(primaryClass.getPackageName(), className) + getSignatureInClass(primaryClass); return shorten(primaryClass.getPackageName(), className) + "." + getNameInClass(primaryClass); int i = methodSig.indexOf(')'); String returnType = methodSig.substring(i + 1); String pkgName = primaryClass == null ? "" : primaryClass.getPackageName(); SignatureConverter converter = new SignatureConverter(returnType); return shorten(pkgName, converter.parseNext());
/** * Format the annotation. Note that this version (defined by * PackageMemberAnnotation) only handles the "class" and "package" keys, and * calls formatPackageMember() for all other keys. * * @param key * the key * @return the formatted annotation */ @Override public final String format(String key, ClassAnnotation primaryClass) { if ("class.givenClass".equals(key)) { return shorten(primaryClass.getPackageName(), className); } if ("simpleClass".equals(key)) { return ClassName.extractSimpleName(className); } if ("class".equals(key)) { return className; } if ("package".equals(key)) { return getPackageName(); } if ("".equals(key) && FindBugsDisplayFeatures.isAbridgedMessages() && primaryClass != null) { return formatPackageMember("givenClass", primaryClass); } return formatPackageMember(key, primaryClass); }
@Override public void reportBug(@Nonnull BugInstance bugInstance) { if (!category.equals(bugInstance.getBugPattern().getCategory())) { getDelegate().reportBug(bugInstance); return; } if (check.isEmpty()) { return; } ClassAnnotation c = bugInstance.getPrimaryClass(); @DottedClassName String packageName = c.getPackageName(); while (true) { if (check.contains(packageName)) { getDelegate().reportBug(bugInstance); return; } else if (dontCheck.contains(packageName)) { return; } int i = packageName.lastIndexOf('.'); if (i < 0) { return; } packageName = packageName.substring(0, i); } }
String prefix = ClassName.extractPackagePrefix(b.getPrimaryClass().getPackageName(), prefixLength); Integer v = map.get(prefix); if (v == null) {
bug.setNotAProblem(ignore); bug.setFileName(findSourceFile(project, sourceFinder, sourceLine)); bug.setPackageName(warning.getPrimaryClass().getPackageName()); bug.setModuleName(actualName); setAffectedLines(warning, bug);
bug.setNotAProblem(ignore); bug.setFileName(findSourceFile(project, sourceFinder, sourceLine)); bug.setPackageName(warning.getPrimaryClass().getPackageName()); bug.setModuleName(actualName); setAffectedLines(warning, bug);