package com.intellij.lang.javascript.flex; import com.intellij.lang.javascript.JavaScriptSupportLoader; import com.intellij.lang.javascript.psi.ecmal4.JSImportStatement; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.usages.Usage; import com.intellij.usages.UsageTarget; import com.intellij.usages.rules.PsiElementUsage; import org.jetbrains.annotations.NotNull; public class ImportFilteringRule extends com.intellij.usages.rules.ImportFilteringRule { public boolean isVisible(@NotNull Usage usage, @NotNull UsageTarget[] targets) { if (usage instanceof PsiElementUsage) { final PsiElement psiElement = ((PsiElementUsage)usage).getElement(); final PsiFile containingFile = psiElement.getContainingFile(); if (containingFile != null && containingFile.getLanguage().is(JavaScriptSupportLoader.ECMA_SCRIPT_L4)) { return PsiTreeUtil.getParentOfType(psiElement, JSImportStatement.class, true) == null; } } return true; } }