OC-12377 Completion is missing for keywords inside guard statement

This commit is contained in:
Max Medvedev
2015-09-29 17:18:48 +03:00
parent 5966915c40
commit f9604de719
@@ -339,6 +339,19 @@ public abstract class PsiElementPattern<T extends PsiElement,Self extends PsiEle
});
}
public Self withLastChildSkipping(@NotNull final ElementPattern skip, @NotNull final ElementPattern pattern) {
return with(new PatternCondition<T>("withLastChildSkipping") {
@Override
public boolean accepts(@NotNull T t, ProcessingContext context) {
PsiElement last = t.getLastChild();
while (last != null && skip.accepts(last)) {
last = last.getPrevSibling();
}
return pattern.accepts(last);
}
});
}
public static class Capture<T extends PsiElement> extends PsiElementPattern<T,Capture<T>> {
protected Capture(final Class<T> aClass) {