summaryrefslogtreecommitdiff
path: root/plugins/structuralsearch/source/com/intellij/structuralsearch/impl/matcher/MatchUtils.java
blob: 38c31d16524f7240a3ef696ce0e0113ddb0a48d4 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.intellij.structuralsearch.impl.matcher;

import com.intellij.psi.*;
import org.jetbrains.annotations.NonNls;

/**
 * Created by IntelliJ IDEA.
 * User: maxim
 * Date: 24.12.2003
 * Time: 22:10:20
 * To change this template use Options | File Templates.
 */
public class MatchUtils {
  public static final String SPECIAL_CHARS = "*(){}[]^$\\.-|";

  public static final boolean compareWithNoDifferenceToPackage(final String typeImage,@NonNls final String typeImage2) {
    if (typeImage == null || typeImage2 == null) return typeImage == typeImage2;
    return typeImage2.endsWith(typeImage) && (
      typeImage.length() == typeImage2.length() ||
      typeImage2.charAt(typeImage2.length()-typeImage.length()-1)=='.' // package separator
    );
  }

  public static PsiElement getReferencedElement(final PsiElement element) {
    if (element instanceof PsiReference) {
      return ((PsiReference)element).resolve();
    }

    /*if (element instanceof PsiTypeElement) {
      PsiType type = ((PsiTypeElement)element).getType();

      if (type instanceof PsiArrayType) {
        type = ((PsiArrayType)type).getComponentType();
      }
      if (type instanceof PsiClassType) {
        return ((PsiClassType)type).resolve();
      }
      return null;
    }*/
    return element;
  }
}