类com.intellij.psi.impl.source.PsiJavaFileImpl源码实例Demo

下面列出了怎么用com.intellij.psi.impl.source.PsiJavaFileImpl的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: GsonFormat   文件: PsiClassUtil.java
public static PsiDirectory getJavaSrc(PsiFile psiFile) {
    PsiDirectory psiDirectory = null;
    if (psiFile instanceof PsiJavaFileImpl) {
        String packageName = ((PsiJavaFileImpl) psiFile).getPackageName();
        String[] arg = packageName.split("\\.");
        psiDirectory = psiFile.getContainingDirectory();

        for (int i = 0; i < arg.length; i++) {
            psiDirectory = psiDirectory.getParent();
            if (psiDirectory == null) {
                break;
            }
        }
    }
    return psiDirectory;
}
 
源代码2 项目: lombok-intellij-plugin   文件: PerformanceTest.java
public void testFieldDefaults() {
  final String testName = getTestName(true);
  loadToPsiFile("/performance/" + testName + "/lombok.config");
  final PsiFile psiFile = loadToPsiFile("/performance/" + testName + "/HugeClass.java");
  PlatformTestUtil.startPerformanceTest(getTestName(false), 500, () -> {
    type(' ');
    PsiDocumentManager.getInstance(getProject()).commitDocument(getEditor().getDocument());
    ((PsiJavaFileImpl) psiFile).getClasses()[0].getFields()[0].hasModifierProperty(PsiModifier.FINAL);

    backspace();
    PsiDocumentManager.getInstance(getProject()).commitDocument(getEditor().getDocument());
    ((PsiJavaFileImpl) psiFile).getClasses()[0].getFields()[0].hasModifierProperty(PsiModifier.FINAL);
  }).assertTiming();
}
 
 类所在包
 同包方法