package fr.adrienbrault.idea.symfony2plugin.action.quickfix;
import com.intellij.codeInspection.LocalQuickFix;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.xml.XmlTag;
import fr.adrienbrault.idea.symfony2plugin.action.ServiceActionUtil;
import org.jetbrains.annotations.NotNull;
import java.util.List;
/**
* @author Daniel Espendiller <daniel@espendiller.net>
*/
public class AddServiceXmlArgumentLocalQuickFix implements LocalQuickFix {
private final List<String> args;
public AddServiceXmlArgumentLocalQuickFix(List<String> args) {
this.args = args;
}
@NotNull
@Override
public String getName() {
return "Symfony: missing argument";
}
@NotNull
@Override
public String getFamilyName() {
return "Symfony";
}
@Override
public void applyFix(final @NotNull Project project, @NotNull ProblemDescriptor problemDescriptor) {
final PsiElement parent = problemDescriptor.getPsiElement().getParent();
if(!(parent instanceof XmlTag)) {
return;
}
ServiceActionUtil.fixServiceArgument(args, (XmlTag) parent);
}
}