package org.fandev.lang.fan.psi.impl.statements.params;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiParameter;
import org.fandev.lang.fan.psi.api.statements.params.FanFormal;
import org.fandev.lang.fan.psi.api.statements.params.FanFormals;
import org.fandev.lang.fan.psi.impl.FanBaseElementImpl;
import org.jetbrains.annotations.NotNull;
/**
* Date: Aug 20, 2009
* Time: 1:14:38 PM
*
* @author Dror Bereznitsky
*/
public class FanFormalsImpl extends FanBaseElementImpl implements FanFormals {
public FanFormalsImpl(final ASTNode astNode) {
super(astNode);
}
@NotNull
public PsiParameter[] getParameters() {
return findChildrenByClass(FanFormal.class);
}
public int getParameterIndex(final PsiParameter psiParameter) {
final PsiParameter[] parameters = getParameters();
for (int i = 0; i < parameters.length; i++) {
if (parameters[i].equals(psiParameter)) {
return i;
}
}
return -1;
}
public int getParametersCount() {
return getParameters().length;
}
}