summaryrefslogtreecommitdiff
path: root/plugins/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/predicates/NotPredicate.java
blob: 3d28a635e3af49c639086d643997810c978f9447 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.intellij.structuralsearch.impl.matcher.predicates;

import com.intellij.psi.PsiElement;
import com.intellij.structuralsearch.impl.matcher.MatchContext;
import com.intellij.structuralsearch.impl.matcher.handlers.MatchPredicate;

/**
 * Negates predicate
 */
public final class NotPredicate extends MatchPredicate {
  private final MatchPredicate handler;

  public NotPredicate(final MatchPredicate _handler) {
    handler = _handler;
  }

  public boolean match(PsiElement patternNode, PsiElement matchedNode, MatchContext context) {
    return !handler.match(patternNode,matchedNode,context);
  }

  public MatchPredicate getHandler() {
    return handler;
  }
}