public void actionPerformed()

in project_model/src/main/java/org/intellij/sdk/project/model/LibrariesAction.java [47:88]


  public void actionPerformed(@NotNull AnActionEvent event) {
    Project project = event.getProject();
    if (project == null) {
      return;
    }
    Navigatable element = event.getData(CommonDataKeys.NAVIGATABLE);
    if (element instanceof PsiClass) {
      PsiFile psiFile = ((PsiClass) element).getContainingFile();
      if (psiFile == null) {
        return;
      }
      VirtualFile virtualFile = psiFile.getVirtualFile();
      if (virtualFile == null) {
        return;
      }
      final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
      StringBuilder jars = new StringBuilder();
      for (OrderEntry orderEntry : fileIndex.getOrderEntriesForFile(virtualFile)) {
        if (orderEntry instanceof LibraryOrderEntry libraryEntry) {
          final Library library = libraryEntry.getLibrary();
          if (library == null) {
            continue;
          }
          VirtualFile[] files = library.getFiles(OrderRootType.CLASSES);
          if (files.length == 0) {
            continue;
          }
          for (VirtualFile jar : files) {
            jars.append(jar.getName()).append(", ");
          }
        }
      }
      String fileAndLibs;
      if (jars.length() > 0) {
        fileAndLibs = virtualFile.getName() + ": " + jars;
      } else {
        fileAndLibs = "None";
      }
      Messages.showInfoMessage("Libraries for file: " + fileAndLibs,
          "Libraries Info");
    }
  }