From f9604de719049dce0c0cb55fcd5775cfa6f4a652 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Tue, 29 Sep 2015 17:13:12 +0300 Subject: [PATCH] OC-12377 Completion is missing for keywords inside guard statement --- .../com/intellij/patterns/PsiElementPattern.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/platform/core-api/src/com/intellij/patterns/PsiElementPattern.java b/platform/core-api/src/com/intellij/patterns/PsiElementPattern.java index 61904cf83ae7..5d4599feb32d 100644 --- a/platform/core-api/src/com/intellij/patterns/PsiElementPattern.java +++ b/platform/core-api/src/com/intellij/patterns/PsiElementPattern.java @@ -339,6 +339,19 @@ public abstract class PsiElementPattern("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 extends PsiElementPattern> { protected Capture(final Class aClass) {