@Nullable
  private static String getRepositoryId(ConvertContext context) {
    MavenDomRepositoryBase repository =
        context.getInvocationElement().getParentOfType(MavenDomRepositoryBase.class, false);
    if (repository != null) return repository.getId().getStringValue();

    return null;
  }
  @Nullable
  private static LanguageDefinition createAnyLanguageDefinition(ConvertContext context) {
    final PsiClass languageClass =
        DomJavaUtil.findClass(Language.class.getName(), context.getInvocationElement());
    if (languageClass == null) return null;

    String anyLanguageId = calculateAnyLanguageId(context);
    return new LanguageDefinition(
        anyLanguageId, languageClass, AllIcons.FileTypes.Any_type, "<any language>");
  }
    public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
      GenericDomValue el = (GenericDomValue) myContext.getInvocationElement();
      MavenId id = MavenArtifactCoordinatesHelper.getId(myContext);

      MavenProjectsManager manager = MavenProjectsManager.getInstance(project);
      MavenProject parentFile = manager.findProject(id);
      if (parentFile != null) {
        VirtualFile currentFile = myContext.getFile().getVirtualFile();
        el.setStringValue(
            MavenDomUtil.calcRelativePath(currentFile.getParent(), parentFile.getFile()));
      }
    }
  private static String calculateAnyLanguageId(ConvertContext context) {
    final Extension extension =
        context.getInvocationElement().getParentOfType(Extension.class, true);
    if (extension == null) {
      return ANY_LANGUAGE_DEFAULT_ID;
    }
    final ExtensionPoint extensionPoint = extension.getExtensionPoint();
    if (extensionPoint == null) {
      return ANY_LANGUAGE_DEFAULT_ID;
    }

    final GenericAttributeValue<PsiClass> epBeanClass = extensionPoint.getBeanClass();
    if (CompletionContributorEP.class.getName().equals(epBeanClass.getStringValue())) {
      return "any";
    }

    return ANY_LANGUAGE_DEFAULT_ID;
  }
 private static List<LanguageDefinition> collectLibraryLanguages(
     final ConvertContext context, final Collection<PsiClass> allLanguages) {
   return ContainerUtil.mapNotNull(
       Language.getRegisteredLanguages(),
       (NullableFunction<Language, LanguageDefinition>)
           language -> {
             if (language.getID().isEmpty() || language instanceof DependentLanguage) {
               return null;
             }
             final PsiClass psiClass =
                 DomJavaUtil.findClass(
                     language.getClass().getName(), context.getInvocationElement(), true);
             if (psiClass == null || !allLanguages.contains(psiClass)) {
               return null;
             }
             final LanguageFileType type = language.getAssociatedFileType();
             final Icon icon = type != null ? type.getIcon() : null;
             return new LanguageDefinition(
                 language.getID(), psiClass, icon, language.getDisplayName());
           });
 }
Exemplo n.º 6
0
 public static <T> T getImmediateParent(ConvertContext context, Class<T> clazz) {
   DomElement parentElement = context.getInvocationElement().getParent();
   return clazz.isInstance(parentElement) ? (T) parentElement : null;
 }