Search in sources :

Example 1 with MethodParamParameter

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));
    }
}
Also used : MethodParamParameter(org.develnext.jphp.genapi.parameter.MethodParamParameter) ArgumentStmtToken(org.develnext.jphp.core.tokenizer.token.stmt.ArgumentStmtToken) MethodReturnParameter(org.develnext.jphp.genapi.parameter.MethodReturnParameter) DocAnnotations(org.develnext.jphp.genapi.DocAnnotations)

Aggregations

ArgumentStmtToken (org.develnext.jphp.core.tokenizer.token.stmt.ArgumentStmtToken)1 DocAnnotations (org.develnext.jphp.genapi.DocAnnotations)1 MethodParamParameter (org.develnext.jphp.genapi.parameter.MethodParamParameter)1 MethodReturnParameter (org.develnext.jphp.genapi.parameter.MethodReturnParameter)1