/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.plugin.ij.lang.psi.util;
import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiMatcherExpression;
public class BoolMatchers {
public static PsiMatcherExpression and(final PsiMatcherExpression... expressions) {
return new PsiMatcherExpression() {
public Boolean match(PsiElement element) {
for (PsiMatcherExpression expr : expressions) {
if (!expr.match(element)) {
return Boolean.FALSE;
}
}
return Boolean.TRUE;
}
};
}
public static PsiMatcherExpression or(final PsiMatcherExpression... expressions) {
return new PsiMatcherExpression() {
public Boolean match(PsiElement element) {
for (PsiMatcherExpression expr : expressions) {
if (expr.match(element)) {
return Boolean.TRUE;
}
}
return Boolean.FALSE;
}
};
}
}