mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
OC-12377 Completion is missing for keywords inside guard statement
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user