protected final int getMethodLineNumber(AsmMethod asmMethod) { MethodSignature methodSignature = MethodSignatureScanner.scan(asmMethod.getGenericKey()); AsmClass asmClass = asmMethod.getParent(); Integer result = javaResourceLocator.getMethodStartLine(asmClass.getInternalName() + "#" + MethodSignaturePrinter.print(methodSignature)); if (result != null) { return result; } return -1; }
protected final int getMethodLineNumber(AsmMethod asmMethod) { MethodSignature methodSignature = MethodSignatureScanner.scan(asmMethod.getGenericKey()); AsmClass asmClass = asmMethod.getParent(); Integer result = context.getJavaResourceLocator().getMethodStartLine(asmClass.getInternalName() + "#" + MethodSignaturePrinter.print(methodSignature)); if (result != null) { return result; } return -1; }
@Override public void visitMethod(AsmMethod asmMethod) { if (isPrivateUnused(asmMethod) && !isExcludedFromCheck(asmMethod)) { String messageStr = "Private method '" + asmMethod.getName() + "' is never used."; if ("<init>".equals(asmMethod.getName())) { messageStr = "Private constructor '" + asmClass.getDisplayName() + "("; List<String> params = Lists.newArrayList(); for (Parameter param : MethodSignatureScanner.scan(asmMethod.getGenericKey()).getArgumentTypes()) { String paramName = param.getClassName(); if (StringUtils.isEmpty(paramName)) { paramName = MethodSignatureScanner.getReadableType(param.getJvmJavaType()); } params.add(paramName + (param.isArray() ? "[]" : "")); } messageStr += Joiner.on(",").join(params) + ")' is never used."; } CheckMessage message = new CheckMessage(this, messageStr); int line = getMethodLineNumber(asmMethod); if (line > 0) { message.setLine(line); } SourceFile file = getSourceFile(asmClass); file.log(message); } }