mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
CONTENT_FOR_DOM_STUBS moved to DomStubBuilder
This commit is contained in:
@@ -44,6 +44,7 @@ import com.intellij.util.text.CharSequenceReader;
|
||||
import com.intellij.util.xml.*;
|
||||
import com.intellij.util.xml.structure.DomStructureViewBuilder;
|
||||
import com.intellij.util.xml.stubs.FileStub;
|
||||
import com.intellij.util.xml.stubs.builder.DomStubBuilder;
|
||||
import com.intellij.xml.util.XmlUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -90,7 +91,7 @@ public class DomServiceImpl extends DomService {
|
||||
if (!file.isValid()) return XmlFileHeader.EMPTY;
|
||||
|
||||
if (XmlUtil.isStubBuilding(file) && file.getFileType() == XmlFileType.INSTANCE) {
|
||||
FileContent fileContent = file.getUserData(XmlUtil.CONTENT_FOR_DOM_STUBS);
|
||||
FileContent fileContent = file.getUserData(DomStubBuilder.CONTENT_FOR_DOM_STUBS);
|
||||
if (fileContent != null) {
|
||||
//noinspection IOResourceOpenedButNotSafelyClosed
|
||||
return NanoXmlUtil.parseHeader(new CharSequenceReader(fileContent.getContentAsText()));
|
||||
|
||||
@@ -18,14 +18,16 @@ package com.intellij.util.xml.stubs.builder;
|
||||
import com.intellij.ide.highlighter.XmlFileType;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectCoreUtil;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.psi.stubs.BinaryFileStubBuilder;
|
||||
import com.intellij.psi.stubs.Stub;
|
||||
import com.intellij.psi.xml.XmlFile;
|
||||
import com.intellij.util.indexing.FileBasedIndexImpl;
|
||||
import com.intellij.util.indexing.FileContent;
|
||||
import com.intellij.util.xml.*;
|
||||
import com.intellij.util.xml.stubs.FileStub;
|
||||
@@ -37,11 +39,13 @@ import com.intellij.xml.util.XmlUtil;
|
||||
*/
|
||||
public class DomStubBuilder implements BinaryFileStubBuilder {
|
||||
|
||||
public final static Key<FileContent> CONTENT_FOR_DOM_STUBS = Key.create("dom stubs content");
|
||||
private final static Logger LOG = Logger.getInstance(DomStubBuilder.class);
|
||||
|
||||
@Override
|
||||
public boolean acceptsFile(VirtualFile file) {
|
||||
return file.getFileType() == XmlFileType.INSTANCE && !ProjectCoreUtil.isProjectOrWorkspaceFile(file);
|
||||
FileType fileType = file.getFileType();
|
||||
return fileType == XmlFileType.INSTANCE && !FileBasedIndexImpl.isProjectOrWorkspaceFile(file, fileType);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -50,7 +54,7 @@ public class DomStubBuilder implements BinaryFileStubBuilder {
|
||||
Project project = fileContent.getProject();
|
||||
PsiFile psiFile = PsiManager.getInstance(project).findFile(file);
|
||||
if (!(psiFile instanceof XmlFile)) return null;
|
||||
psiFile.putUserData(XmlUtil.CONTENT_FOR_DOM_STUBS, fileContent);
|
||||
psiFile.putUserData(CONTENT_FOR_DOM_STUBS, fileContent);
|
||||
|
||||
XmlFile xmlFile = (XmlFile)psiFile;
|
||||
DomManager manager = DomManager.getDomManager(project);
|
||||
@@ -70,7 +74,7 @@ public class DomStubBuilder implements BinaryFileStubBuilder {
|
||||
}
|
||||
finally {
|
||||
xmlFile.putUserData(XmlUtil.BUILDING_DOM_STUBS, null);
|
||||
psiFile.putUserData(XmlUtil.CONTENT_FOR_DOM_STUBS, null);
|
||||
psiFile.putUserData(CONTENT_FOR_DOM_STUBS, null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -169,7 +169,6 @@ public class XmlUtil {
|
||||
|
||||
public static final String XHTML4_SCHEMA_LOCATION;
|
||||
public final static Key<Boolean> BUILDING_DOM_STUBS = Key.create("building dom stubs...");
|
||||
public final static Key<FileContent> CONTENT_FOR_DOM_STUBS = Key.create("dom stubs content");
|
||||
|
||||
private XmlUtil() {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user