private static List<MethodInspect> getInspects(ExecutableMemberDoc[] memberDocs) { List<MethodInspect> methodInspects = new ArrayList<>(memberDocs.length); for (ExecutableMemberDoc memberDoc : memberDocs) { List<String> signature = new ArrayList<>(); for (Parameter parameter : memberDoc.parameters()) { signature.add(parameter.type().qualifiedTypeName() + " " + parameter.name()); } MethodInspect methodInspect = new MethodInspect(memberDoc.name(), memberDoc.getRawCommentText(), String.join(", ", signature)); methodInspects.add(methodInspect); } return methodInspects; } }
docProcessor.processParamTag(paramTag, parameter, paramDocType); final AnnotationDesc[] annotations = parameter.annotations(); if (annotations != null) { for (final AnnotationDesc annotationDesc : annotations) {
private static String parameterListForFragmentIdentifier(ExecutableMemberDoc executableMemberDoc) { StringBuilder result = new StringBuilder().append('('); for (int i = 0; i < executableMemberDoc.parameters().length; i++) { Parameter parameter = executableMemberDoc.parameters()[i]; if (i > 0) result.append(", "); result.append(parameter.type().qualifiedTypeName()); } return result.append(')').toString(); }
protected MethodParameter parseMethodParameter(Parameter parameter) { MethodParameter parameterMethodNode = objectFactory.createMethodParameter(); parameterMethodNode.setName(parameter.name()); parameterMethodNode.setType(parseTypeInfo(parameter.type())); for (AnnotationDesc annotationDesc : parameter.annotations()) { parameterMethodNode.getAnnotation().add(parseAnnotationDesc(annotationDesc, parameter.typeName())); } return parameterMethodNode; }
@Override public String apply(Parameter param) { return param.name(); } }));
if (!parameter.type().isPrimitive()) { paramClz = Class.forName(parameter.type().qualifiedTypeName()); if (parameter.type().isPrimitive() || BeanUtils.isSimpleProperty(paramClz) || paramClz.isAssignableFrom(List.class) paramDoc.setName(parameter.name()); paramDoc.setType(parameter.typeName()); ParamTag paramTag = getParamTag(paramTags, parameter.name()); if (paramTag == null) { throw new IllegalStateException("missing @param code comments[parameter name=" + parameter.name() + "] in postion:" + methodDoc.position());
for (Parameter parameter : parameters) put(parameter.name(), parameter); docProcessor.processParamTag( paramTag, parameter, paramDocType ); AnnotationDesc[] annotations = parameter.annotations(); if ( annotations != null ) { for ( AnnotationDesc annotationDesc : annotations ) {
private static String parameterListForFragmentIdentifier(ExecutableMemberDoc executableMemberDoc) { StringBuilder result = new StringBuilder().append('('); for (int i = 0; i < executableMemberDoc.parameters().length; i++) { Parameter parameter = executableMemberDoc.parameters()[i]; if (i > 0) result.append(", "); result.append(parameter.type().qualifiedTypeName()); } return result.append(')').toString(); }
@Override public String apply(Parameter param) { return "${" + i++ + ":" + param.name() + "}"; } }));
private static boolean equalParameters(@Nullable List<Object> expected, Parameter[] actual) { if (expected == null) return true; if (expected.size() != actual.length) return false; for (int i = 0; i < expected.size(); i++) { Object parameterType = expected.get(i); Type mdParameterType = actual[i].type(); ClassDoc mdParameterClassDoc = mdParameterType.asClassDoc(); if (mdParameterClassDoc == null) { if (!mdParameterType.toString().equals(parameterType)) return false; } else { if (!mdParameterClassDoc.equals(parameterType)) return false; } } return true; }
/** * Given an array of <code>Parameter</code>s, return * a name/rank number map. If the array is null, then * null is returned. * @param params The array of parmeters (from type or executable member) to * check. * @return a name-rank number map. */ private static Map<String,String> getRankMap(Object[] params){ if (params == null) { return null; } HashMap<String,String> result = new HashMap<String,String>(); for (int i = 0; i < params.length; i++) { String name = params[i] instanceof Parameter ? ((Parameter) params[i]).name() : ((TypeVariable) params[i]).typeName(); result.put(name, String.valueOf(i)); } return result; }
/** * This creates an AnnotationParser for a parameter * * @param parameter The parameter javadoc item * @param options The doclet options */ public AnnotationParser(Parameter parameter, DocletOptions options) { this.annotations = parameter.annotations(); this.options = options; }
private static boolean equalParameters(@Nullable List<Object> expected, Parameter[] actual) { if (expected == null) return true; if (expected.size() != actual.length) return false; for (int i = 0; i < expected.size(); i++) { Object parameterType = expected.get(i); Type mdParameterType = actual[i].type(); ClassDoc mdParameterClassDoc = mdParameterType.asClassDoc(); if (mdParameterClassDoc == null) { if (!mdParameterType.toString().equals(parameterType)) return false; } else { if (!mdParameterClassDoc.equals(parameterType)) return false; } } return true; }
/** * Given an array of <code>Parameter</code>s, return * a name/rank number map. If the array is null, then * null is returned. * @param params The array of parmeters (from type or executable member) to * check. * @return a name-rank number map. */ private static Map<String,String> getRankMap(Object[] params){ if (params == null) { return null; } HashMap<String,String> result = new HashMap<String,String>(); for (int i = 0; i < params.length; i++) { String name = params[i] instanceof Parameter ? ((Parameter) params[i]).name() : ((TypeVariable) params[i]).typeName(); result.put(name, String.valueOf(i)); } return result; }