EA-61477 (assert: SharedImplUtil.findFileElement)
[idea/community.git] / platform / structuralsearch / source / com / intellij / structuralsearch / impl / matcher / MatchUtils.java
1 package com.intellij.structuralsearch.impl.matcher;
2
3 import com.intellij.psi.*;
4 import org.jetbrains.annotations.NonNls;
5
6 /**
7  * Created by IntelliJ IDEA.
8  * User: maxim
9  * Date: 24.12.2003
10  * Time: 22:10:20
11  * To change this template use Options | File Templates.
12  */
13 public class MatchUtils {
14   public static final String SPECIAL_CHARS = "*(){}[]^$\\.-|";
15
16   public static final boolean compareWithNoDifferenceToPackage(final String typeImage,@NonNls final String typeImage2) {
17     if (typeImage == null || typeImage2 == null) return typeImage == typeImage2;
18     return typeImage2.endsWith(typeImage) && (
19       typeImage.length() == typeImage2.length() ||
20       typeImage2.charAt(typeImage2.length()-typeImage.length()-1)=='.' // package separator
21     );
22   }
23
24   public static PsiElement getReferencedElement(final PsiElement element) {
25     if (element instanceof PsiReference) {
26       return ((PsiReference)element).resolve();
27     }
28
29     /*if (element instanceof PsiTypeElement) {
30       PsiType type = ((PsiTypeElement)element).getType();
31
32       if (type instanceof PsiArrayType) {
33         type = ((PsiArrayType)type).getComponentType();
34       }
35       if (type instanceof PsiClassType) {
36         return ((PsiClassType)type).resolve();
37       }
38       return null;
39     }*/
40     return element;
41   }
42 }