类com.intellij.psi.PsiImportList源码实例Demo

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

源代码1 项目: KodeBeagle   文件: JavaImportsUtil.java
private Map<String, Set<String>> getFullyQualifiedImportsWithMethods(
        final PsiJavaFile javaFile, final Map<String, Set<String>> importVsMethods) {
    Map<String, Set<String>> fullyQualifiedImportsWithMethods = new HashMap<>();
    PsiImportList importList = javaFile.getImportList();
    Collection<PsiImportStatement> importStatements =
            PsiTreeUtil.findChildrenOfType(importList, PsiImportStatement.class);
    for (PsiImportStatement importStatement : importStatements) {
        if (!importStatement.isOnDemand()) {
            String qualifiedName = importStatement.getQualifiedName();
            if (importVsMethods.containsKey(qualifiedName)) {
                fullyQualifiedImportsWithMethods.put(qualifiedName,
                        importVsMethods.get(qualifiedName));
            }
        }
    }
    return fullyQualifiedImportsWithMethods;
}
 
源代码2 项目: ParcelablePlease   文件: CodeGenerator.java
private void addImport(PsiElementFactory elementFactory, String fullyQualifiedName){
  final PsiFile file = psiClass.getContainingFile();
  if (!(file instanceof PsiJavaFile)) {
    return;
  }
  final PsiJavaFile javaFile = (PsiJavaFile)file;

  final PsiImportList importList = javaFile.getImportList();
  if (importList == null) {
    return;
  }

  // Check if already imported
  for (PsiImportStatementBase is : importList.getAllImportStatements()) {
    String impQualifiedName = is.getImportReference().getQualifiedName();
    if (fullyQualifiedName.equals(impQualifiedName)){
      return; // Already imported so nothing neede
    }

  }

  // Not imported yet so add it
  importList.add(elementFactory.createImportStatementOnDemand(fullyQualifiedName));
}
 
源代码3 项目: intellij   文件: ProducerUtils.java
private static boolean hasImport(PsiElement element, String qualifiedName) {
  PsiImportList imports = getImports(element);
  return imports != null && imports.findSingleClassImportStatement(qualifiedName) != null;
}
 
源代码4 项目: intellij   文件: ProducerUtils.java
@Nullable
private static PsiImportList getImports(PsiElement element) {
  PsiFile file = element.getContainingFile();
  return file instanceof PsiJavaFile ? ((PsiJavaFile) file).getImportList() : null;
}
 
 类所在包
 类方法
 同包方法