diff --git a/plugins/devkit/devkit-core/src/dom/index/ExtensionPointIndex.java b/plugins/devkit/devkit-core/src/dom/index/ExtensionPointIndex.java index 371aacc42cc7..a1fe2fc0302b 100644 --- a/plugins/devkit/devkit-core/src/dom/index/ExtensionPointIndex.java +++ b/plugins/devkit/devkit-core/src/dom/index/ExtensionPointIndex.java @@ -27,6 +27,7 @@ import com.intellij.util.xml.DomManager; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.idea.devkit.dom.ExtensionPoint; +import org.jetbrains.idea.devkit.dom.ExtensionPoints; import org.jetbrains.idea.devkit.dom.IdeaPlugin; import java.util.*; @@ -135,9 +136,8 @@ public final class ExtensionPointIndex extends PluginXmlIndexBase consumer) { - for (DomElement points : getChildrenWithoutIncludes(plugin, "extensionPoints")) { - for (DomElement point : getChildrenWithoutIncludes(points, "extensionPoint")) { - ExtensionPoint extensionPoint = (ExtensionPoint)point; + for (ExtensionPoints extensionPoints : plugin.getExtensionPoints()) { + for (ExtensionPoint extensionPoint : extensionPoints.getExtensionPoints()) { consumer.accept(extensionPoint); } } diff --git a/plugins/devkit/devkit-core/src/dom/index/PluginIdDependenciesIndex.java b/plugins/devkit/devkit-core/src/dom/index/PluginIdDependenciesIndex.java index 7c6e933f9ca1..226146ad26e4 100644 --- a/plugins/devkit/devkit-core/src/dom/index/PluginIdDependenciesIndex.java +++ b/plugins/devkit/devkit-core/src/dom/index/PluginIdDependenciesIndex.java @@ -60,9 +60,7 @@ public final class PluginIdDependenciesIndex extends PluginXmlIndexBase dependencies = (List)getChildrenWithoutIncludes(plugin, "depends"); - for (Dependency dependency : dependencies) { + for (Dependency dependency : plugin.getDepends()) { ContainerUtil.addIfNotNull(ids, dependency.getStringValue()); final String configFile = dependency.getConfigFile().getStringValue(); diff --git a/plugins/devkit/devkit-core/src/dom/index/PluginIdModuleIndex.java b/plugins/devkit/devkit-core/src/dom/index/PluginIdModuleIndex.java index 3d6250971b7e..1492d88675fa 100644 --- a/plugins/devkit/devkit-core/src/dom/index/PluginIdModuleIndex.java +++ b/plugins/devkit/devkit-core/src/dom/index/PluginIdModuleIndex.java @@ -1,4 +1,4 @@ -// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.idea.devkit.dom.index; import com.intellij.openapi.project.Project; @@ -46,8 +46,8 @@ public final class PluginIdModuleIndex extends PluginXmlIndexBase protected Map performIndexing(IdeaPlugin plugin) { List ids = new ArrayList<>(); ids.add(StringUtil.notNullize(plugin.getPluginId())); - for (DomElement module : getChildrenWithoutIncludes(plugin, "module")) { - ContainerUtil.addIfNotNull(ids, ((PluginModule)module).getValue().getStringValue()); + for (PluginModule module : plugin.getModules()) { + ContainerUtil.addIfNotNull(ids, module.getValue().getStringValue()); } return ContainerUtil.newHashMap(ids, Collections.nCopies(ids.size(), null)); } diff --git a/plugins/devkit/devkit-core/src/dom/index/PluginXmlIndexBase.java b/plugins/devkit/devkit-core/src/dom/index/PluginXmlIndexBase.java index bc4763e790bd..b485aea08655 100644 --- a/plugins/devkit/devkit-core/src/dom/index/PluginXmlIndexBase.java +++ b/plugins/devkit/devkit-core/src/dom/index/PluginXmlIndexBase.java @@ -1,4 +1,4 @@ -// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.idea.devkit.dom.index; import com.intellij.ide.highlighter.XmlFileType; @@ -6,25 +6,19 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.xml.XmlFile; import com.intellij.util.indexing.*; import com.intellij.util.text.CharArrayUtil; -import com.intellij.util.xml.DomElement; -import com.intellij.util.xml.impl.AbstractCollectionChildDescription; -import com.intellij.util.xml.impl.DomInvocationHandler; -import com.intellij.util.xml.impl.DomManagerImpl; import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.idea.devkit.dom.IdeaPlugin; import org.jetbrains.idea.devkit.util.DescriptorUtil; import java.util.Collections; -import java.util.List; import java.util.Map; @ApiStatus.Internal public abstract class PluginXmlIndexBase extends FileBasedIndexExtension { - protected static final int BASE_INDEX_VERSION = 10; + protected static final int BASE_INDEX_VERSION = 11; protected abstract Map performIndexing(IdeaPlugin plugin); @@ -51,15 +45,6 @@ public abstract class PluginXmlIndexBase extends FileBasedIndexExtension getChildrenWithoutIncludes(DomElement parent, @NonNls String tagName) { - AbstractCollectionChildDescription collectionChildDescription = - (AbstractCollectionChildDescription)parent.getGenericInfo().getCollectionChildDescription(tagName); - DomInvocationHandler handler = DomManagerImpl.getDomInvocationHandler(parent); - assert handler != null : parent; - return handler.getCollectionChildren(collectionChildDescription, false); - } - private static @Nullable IdeaPlugin obtainIdeaPlugin(@NotNull FileContent content) { if (!looksLikeIdeaPluginXml(content)) return null;