當前位置: 首頁>>代碼示例>>Java>>正文


Java PsiElement.getReferences方法代碼示例

本文整理匯總了Java中com.intellij.psi.PsiElement.getReferences方法的典型用法代碼示例。如果您正苦於以下問題:Java PsiElement.getReferences方法的具體用法?Java PsiElement.getReferences怎麽用?Java PsiElement.getReferences使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.intellij.psi.PsiElement的用法示例。


在下文中一共展示了PsiElement.getReferences方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: execute

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
@Override
public boolean execute(@NotNull PsiElement element, int offsetInElement) {
  String selector;
  if (element instanceof AppleScriptHandlerCall) {
    AppleScriptHandlerCall handlerCall = (AppleScriptHandlerCall) element;
    selector = handlerCall.getHandlerSelector();
    if (myHandlerSelector.equals(selector)) {
      for (PsiReference ref : element.getReferences()) {
        if (ref.isReferenceTo(myHandler)) {
          return myConsumer.process(ref);
        }
      }
    }
  }
  return true;
}
 
開發者ID:ant-druha,項目名稱:AppleScript-IDEA,代碼行數:17,代碼來源:AppleScriptHandlerReferencesSearch.java

示例2: execute

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
@Override
public boolean execute(@NotNull PsiElement element, int offsetInElement) {
  String selector = null;
  if (element instanceof AppleScriptCommandHandlerCall) {
    AppleScriptCommandHandlerCall handlerCall = (AppleScriptCommandHandlerCall) element;
    selector = handlerCall.getCommandName();
  }//todo: handle other component types
  else if (element instanceof DictionaryCompositeElement) {
    DictionaryCompositeElement dictionaryCompositeElement = (DictionaryCompositeElement) element;
    selector = dictionaryCompositeElement.getCompositeNameElement().getCompositeName();
  }
  if (selector != null) {
    boolean selectorMatches;
    selectorMatches = myComponentName.equals(selector);
    if (selectorMatches) {
      for (PsiReference ref : element.getReferences()) {
        if (ref.isReferenceTo(myDictionaryComponent)) {
          return myConsumer.process(ref);
        }
      }
    }
  }
  return true;
}
 
開發者ID:ant-druha,項目名稱:AppleScript-IDEA,代碼行數:25,代碼來源:AppleScriptDictionaryComponentReferencesSearch.java

示例3: testReferenceCanResolveDefinition

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testReferenceCanResolveDefinition() {
    PsiFile file = myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "class ActionController {" +
            "public function action() {" +
            "  $this->forward('<caret>baz');" +
            "}" +
            "}"
    );

    PsiElement elementAtCaret = file.findElementAt(myFixture.getCaretOffset()).getParent();
    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference reference : references) {
        if (reference instanceof ControllerActionReference) {
            ResolveResult[] resolveResults = ((ControllerActionReference) reference).multiResolve(false);
            for (ResolveResult resolveResult : resolveResults) {
                assertInstanceOf(resolveResult.getElement(), Method.class);

                return;
            }
        }
    }

    fail("No TranslationReference found");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:25,代碼來源:ControllerActionReferenceTest.java

示例4: testCanCreateTranslationReferencesOnPhpStrings

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testCanCreateTranslationReferencesOnPhpStrings() {
    PsiFile file = myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "class ActionController {" +
            "public function action() {" +
            "  $this->forward('<caret>baz');" +
            "}" +
            "}"
    );

    PsiElement elementAtCaret = file.findElementAt(myFixture.getCaretOffset()).getParent();
    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference reference : references) {
        if (reference instanceof ControllerActionReference) {
            return;
        }
    }

    fail("No ControllerActionReference found");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:20,代碼來源:ControllerActionReferenceProviderTest.java

示例5: testResourceReferencesAreCreated

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testResourceReferencesAreCreated() {
    myFixture.addFileToProject("foo/ext_emconf.php", "");

    myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "'EXT:foo/ext_emconf.php<caret>';");

    PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()).getParent();

    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference ref : references) {
        if (ref instanceof ResourceReference) {
            return;
        }
    }

    fail("No resource reference.");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:18,代碼來源:ResourceReferenceContributorTest.java

示例6: testReferenceCanResolveDefinition

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testReferenceCanResolveDefinition() {
    PsiFile file = myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "\"LLL:EXT:foo/sample.xlf:sys_<caret>language.language_isocode.ab\";");

    PsiElement elementAtCaret = file.findElementAt(myFixture.getCaretOffset()).getParent();
    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference reference : references) {
        if (reference instanceof TranslationReference) {
            ResolveResult[] resolveResults = ((TranslationReference) reference).multiResolve(false);
            for (ResolveResult resolveResult : resolveResults) {
                assertInstanceOf(resolveResult.getElement(), XmlTag.class);

                return;
            }
        }
    }

    fail("No TranslationReference found");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:20,代碼來源:TranslationReferenceTest.java

示例7: testReferenceCanResolveVariants

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testReferenceCanResolveVariants() {
    PsiFile file = myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "\"LLL:EXT:foo/sample.xlf:sys_<caret>language.language_isocode.ab\";");

    PsiElement elementAtCaret = file.findElementAt(myFixture.getCaretOffset()).getParent();
    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference reference : references) {
        if (reference instanceof TranslationReference) {
            Object[] variants = reference.getVariants();
            for (Object variant : variants) {
                if (variant instanceof LookupElement) {
                    String lookupString = ((LookupElement) variant).getLookupString();
                    assertEquals("LLL:EXT:foo/sample.xlf:sys_language.language_isocode.ab", lookupString);
                    return;
                }
            }

        }
    }

    fail("No TranslationReference found");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:23,代碼來源:TranslationReferenceTest.java

示例8: testIconReferenceIsCreatedOnGetIcon

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testIconReferenceIsCreatedOnGetIcon() {
    myFixture.addFileToProject("foo/ext_emconf.php", "");
    myFixture.configureByFile("IconRegistry9.php");
    myFixture.configureByFile("icon_provider_test.php");

    PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()).getParent();

    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference ref : references) {
        if (ref instanceof IconReference) {
            return;
        }
    }

    fail("No icon reference found");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:17,代碼來源:IconReferenceProviderTest.java

示例9: testIconReferenceIsCreatedOnGetIconFromGeneralUtility

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testIconReferenceIsCreatedOnGetIconFromGeneralUtility() {
    myFixture.addFileToProject("foo/ext_emconf.php", "");
    myFixture.configureByFile("IconRegistry9.php");
    myFixture.configureByFile("general_utility_icon_provider_test.php");

    PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()).getParent();

    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference ref : references) {
        if (ref instanceof IconReference) {
            return;
        }
    }

    fail("No icon reference found");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:17,代碼來源:IconReferenceProviderTest.java

示例10: testReferenceCanResolveVariants

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testReferenceCanResolveVariants() {
    PsiFile file = myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "class ActionController {" +
            "public function action() {" +
            "  $this->forward('<caret>baz');" +
            "}" +
            "}"
    );

    PsiElement elementAtCaret = file.findElementAt(myFixture.getCaretOffset()).getParent();
    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference reference : references) {
        if (reference instanceof ControllerActionReference) {
            Object[] variants = reference.getVariants();
            for (Object variant : variants) {
                if (variant instanceof LookupElement) {
                    String lookupString = ((LookupElement) variant).getLookupString();
                    assertEquals("foo", lookupString);
                    return;
                }
            }

        }
    }

    fail("No ControllerActionReference found");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:28,代碼來源:ControllerActionReferenceTest.java

示例11: testResourceReferenceHasVariants

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testResourceReferenceHasVariants() {
    myFixture.addFileToProject("foo/ext_emconf.php", "");
    myFixture.addFileToProject("foo/bar.txt", "");

    myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "'EXT:foo/ext_emconf.php<caret>';");

    PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()).getParent();

    ResourceReference target = null;
    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference ref : references) {
        if (ref instanceof ResourceReference) {
            target = (ResourceReference) ref;
        }
    }

    if (target != null) {
        for (Object o : target.getVariants()) {
            if (o instanceof ResourceLookupElement && ((ResourceLookupElement) o).getLookupString().contains("EXT:foo/bar.txt")) {
                return;
            }
        }
    }

    fail("No resource reference.");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:28,代碼來源:ResourceReferenceContributorTest.java

示例12: testResourceReferenceResolves

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testResourceReferenceResolves() {
    PsiFile psiFile = myFixture.addFileToProject("foo/ext_emconf.php", "");
    myFixture.addFileToProject("foo/bar.txt", "");

    myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "'EXT:foo/ext_emconf.php<caret>';");

    PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()).getParent();

    ResourceReference target = null;
    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference ref : references) {
        if (ref instanceof ResourceReference) {
            target = (ResourceReference) ref;
        }
    }

    if (target != null) {
        for (ResolveResult o : target.multiResolve(true)) {
            if (o.getElement().isEquivalentTo(psiFile)) {
                return;
            }
        }
    }

    fail("No resource reference.");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:28,代碼來源:ResourceReferenceContributorTest.java

示例13: testCanCreateTranslationReferencesOnPhpStrings

import com.intellij.psi.PsiElement; //導入方法依賴的package包/類
public void testCanCreateTranslationReferencesOnPhpStrings() {
    PsiFile file = myFixture.configureByText(PhpFileType.INSTANCE, "<?php \n" +
            "\"LLL:EXT:foo/sample.xlf:sys_<caret>language.language_isocode.ab\";");

    PsiElement elementAtCaret = file.findElementAt(myFixture.getCaretOffset()).getParent();
    PsiReference[] references = elementAtCaret.getReferences();
    for (PsiReference reference : references) {
        if (reference instanceof TranslationReference) {
            return;
        }
    }

    fail("No TranslationReference found");
}
 
開發者ID:cedricziel,項目名稱:idea-php-typo3-plugin,代碼行數:15,代碼來源:TranslationReferenceProviderTest.java


注:本文中的com.intellij.psi.PsiElement.getReferences方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。