public boolean matchesParams(String[] params, String[] dimensions, boolean varargs) { if (mParamStrings == null) { if (mParameters.size() != params.length) { return false; } int i = 0; for (ParameterInfo mine : mParameters) { if (!mine.matchesDimension(dimensions[i], varargs)) { return false; } TypeInfo myType = mine.type(); String qualifiedName = myType.qualifiedTypeName(); String realType = myType.isPrimitive() ? "" : myType.asClassInfo().qualifiedName(); String s = params[i]; int slen = s.length(); int qnlen = qualifiedName.length(); // Check for a matching generic name or best known type if (!matchesType(qualifiedName, s) && !matchesType(realType, s)) { return false; } i++; } } return true; }
/** Returns a printable version of the parameters of this method's signature. */ public String prettyParameters() { StringBuilder params = new StringBuilder("("); for (ParameterInfo pInfo : mParameters) { if (params.length() > 1) { params.append(","); } params.append(pInfo.type().simpleTypeName()); } params.append(")"); return params.toString(); }
/** Returns a name consistent with the {@link com.google.doclava.MethodInfo#getHashableName()}. */ public String getHashableName() { StringBuilder result = new StringBuilder(); result.append(name()); if (mParameters == null) { return result.toString(); } int i = 0; for (ParameterInfo param : mParameters) { result.append(":"); if (i == (mParameters.size() - 1) && isVarArgs()) { // TODO: note that this does not attempt to handle hypothetical // vararg methods whose last parameter is a list of arrays, e.g. // "Object[]...". result.append(param.type().fullNameNoDimension(typeVariables())).append("..."); } else { result.append(param.type().fullName(typeVariables())); } i++; } return result.toString(); }
@Override public String signature() { if (mSignature == null) { StringBuilder params = new StringBuilder("("); for (ParameterInfo pInfo : mParameters) { if (params.length() > 1) { params.append(", "); } params.append(pInfo.type().fullName()); } params.append(")"); mSignature = params.toString(); } return mSignature; }