mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
better API
This commit is contained in:
@@ -17,6 +17,7 @@ package com.intellij.xml;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.impl.source.xml.SchemaPrefix;
|
||||
import com.intellij.psi.impl.source.xml.TagNameVariantCollector;
|
||||
@@ -27,6 +28,7 @@ import com.intellij.psi.xml.XmlTag;
|
||||
import com.intellij.xml.util.XmlUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -51,11 +53,17 @@ public class DefaultXmlExtension extends XmlExtension {
|
||||
List<XmlElementDescriptor> descriptors = TagNameVariantCollector.getTagDescriptors(context, namespaces, nsInfo);
|
||||
final List<TagInfo> set = new ArrayList<TagInfo>();
|
||||
for (int i = 0; i < descriptors.size(); i++) {
|
||||
XmlElementDescriptor descriptor = descriptors.get(i);
|
||||
final XmlElementDescriptor descriptor = descriptors.get(i);
|
||||
String qualifiedName = descriptor.getName(context);
|
||||
final int pos = qualifiedName.indexOf(':');
|
||||
final String name = pos >= 0 ? qualifiedName.substring(pos + 1) : qualifiedName;
|
||||
set.add(new TagInfo(name, nsInfo.get(i), descriptors.get(i).getDeclaration()));
|
||||
set.add(new TagInfo(name, nsInfo.get(i)) {
|
||||
@Nullable
|
||||
@Override
|
||||
public PsiElement getDeclaration() {
|
||||
return descriptor.getDeclaration();
|
||||
}
|
||||
});
|
||||
}
|
||||
return set;
|
||||
}
|
||||
|
||||
@@ -67,12 +67,15 @@ public abstract class XmlExtension {
|
||||
|
||||
public final String name;
|
||||
public final String namespace;
|
||||
public @Nullable final PsiElement declaration;
|
||||
|
||||
public TagInfo(String name, String namespace, @Nullable PsiElement declaration) {
|
||||
public TagInfo(String name, String namespace) {
|
||||
this.name = name;
|
||||
this.namespace = namespace;
|
||||
this.declaration = declaration;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiElement getDeclaration() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user