use of org.develnext.jphp.genapi.parameter.MethodParamParameter in project jphp by jphp-compiler.
the class FunctionDescription method parse.
@Override
protected void parse() {
arguments = new LinkedHashMap<String, ArgumentDescription>();
annotations = new DocAnnotations(token.getDocComment() == null ? "" : token.getDocComment().getComment());
DocAnnotations.Parameter returnParam = annotations.getParameter("return");
if (returnParam != null) {
this.returnParameter = new MethodReturnParameter(token.getNamespace(), returnParam.value());
}
DocAnnotations.Parameter throwsParam = annotations.getParameter("throws");
if (throwsParam != null) {
this.throwsParameters = new MethodReturnParameter[throwsParam.values().size()];
int i = 0;
for (String e : throwsParam.values()) {
this.throwsParameters[i] = new MethodReturnParameter(token.getNamespace(), e);
i++;
}
}
Map<String, MethodParamParameter> paramDescription = new HashMap<String, MethodParamParameter>();
DocAnnotations.Parameter param = annotations.getParameter("param");
if (param != null) {
for (String el : param.values()) {
MethodParamParameter tmp = new MethodParamParameter(token.getNamespace(), el);
paramDescription.put(tmp.getArgument(), tmp);
}
}
for (ArgumentStmtToken el : token.getArguments()) {
MethodParamParameter desc = paramDescription.get(el.getName().getName());
arguments.put(el.getName().getName(), new ArgumentDescription(el, desc));
}
}
Aggregations