package fr.adrienbrault.idea.symfony2plugin.assistant;
import com.intellij.psi.PsiReference;
import com.jetbrains.php.lang.psi.elements.MethodReference;
import com.jetbrains.php.lang.psi.elements.StringLiteralExpression;
import fr.adrienbrault.idea.symfony2plugin.assistant.reference.MethodParameterSetting;
import java.util.List;
/**
* @author Daniel Espendiller <daniel@espendiller.net>
*/
public interface AssistantReferenceProvider {
PsiReference getPsiReference(AssistantReferenceProviderParameter parameter);
String getAlias();
String getDocBlockParamAlias();
class AssistantReferenceProviderParameter {
private StringLiteralExpression psiElement;
private MethodParameterSetting methodParameterSetting;
private List<MethodParameterSetting> configsMethodScope;
private MethodReference methodReference;
public AssistantReferenceProviderParameter(StringLiteralExpression psiElement, MethodParameterSetting methodParameterSetting, List<MethodParameterSetting> configsMethodScope, MethodReference methodReference) {
this.psiElement = psiElement;
this.methodParameterSetting = methodParameterSetting;
this.configsMethodScope = configsMethodScope;
this.methodReference = methodReference;
}
public List<MethodParameterSetting> getConfigsMethodScope() {
return configsMethodScope;
}
public StringLiteralExpression getPsiElement() {
return psiElement;
}
public MethodParameterSetting getMethodParameterSetting() {
return methodParameterSetting;
}
public MethodReference getMethodReference() {
return methodReference;
}
}
}