| package com.intellij.structuralsearch.impl.matcher.filters; |
| |
| import com.intellij.dupLocator.util.NodeFilter; |
| import com.intellij.psi.JavaElementVisitor; |
| import com.intellij.psi.PsiClass; |
| import com.intellij.psi.PsiElement; |
| import com.intellij.psi.PsiJavaCodeReferenceElement; |
| |
| /** |
| * Created by IntelliJ IDEA. |
| * User: maxim |
| * Date: 23.01.2004 |
| * Time: 1:07:09 |
| * To change this template use File | Settings | File Templates. |
| */ |
| public class TypeFilter extends JavaElementVisitor implements NodeFilter { |
| protected boolean result; |
| |
| @Override public void visitClass(PsiClass aClass) { |
| result = true; |
| } |
| |
| @Override public void visitReferenceElement(PsiJavaCodeReferenceElement psiMethod) { |
| result = true; |
| } |
| |
| private TypeFilter() {} |
| |
| private static class NodeFilterHolder { |
| private static final NodeFilter instance = new TypeFilter(); |
| } |
| |
| public static NodeFilter getInstance() { |
| return NodeFilterHolder.instance; |
| } |
| |
| public boolean accepts(PsiElement element) { |
| result = false; |
| if (element!=null) element.accept(this); |
| return result; |
| } |
| } |