package com.thoughtworks.gauge.inspection;
import com.intellij.psi.PsiElement;
import com.intellij.psi.impl.source.tree.LeafPsiElement;
import com.intellij.psi.tree.IElementType;
import com.thoughtworks.gauge.language.psi.SpecStep;
import com.thoughtworks.gauge.language.token.SpecTokenTypes;
import java.util.Arrays;
import java.util.List;
public class SpecInspectionProvider extends GaugeInspectionProvider {
PsiElement getElement(PsiElement element) {
if (element == null) return null;
if (element instanceof SpecStep) return element;
List<IElementType> types = Arrays.asList(SpecTokenTypes.SPEC_HEADING, SpecTokenTypes.SCENARIO_HEADING);
if (element instanceof LeafPsiElement && types.contains(((LeafPsiElement) element).getElementType()))
return element;
return getElement(element.getParent());
}
}