diff --git a/xml/xml-frontend-split/BUILD.bazel b/xml/xml-frontend-split/BUILD.bazel
index aba1a9f31e61..932e12069520 100644
--- a/xml/xml-frontend-split/BUILD.bazel
+++ b/xml/xml-frontend-split/BUILD.bazel
@@ -23,6 +23,8 @@ jvm_library(
"//platform/util",
"//platform/editor-ui-api:editor-ui",
"//xml/xml-frontback-impl:frontback-impl",
+ "//xml/xml-psi-impl:psi-impl",
+ "//xml/xml-psi-api:psi",
],
runtime_deps = [":frontend-split_resources"]
)
diff --git a/xml/xml-frontend-split/intellij.xml.frontend.split.iml b/xml/xml-frontend-split/intellij.xml.frontend.split.iml
index 969d86c816cc..5d2ebb407efa 100644
--- a/xml/xml-frontend-split/intellij.xml.frontend.split.iml
+++ b/xml/xml-frontend-split/intellij.xml.frontend.split.iml
@@ -18,5 +18,7 @@
+
+
\ No newline at end of file
diff --git a/xml/xml-frontend-split/resources/intellij.xml.frontend.split.xml b/xml/xml-frontend-split/resources/intellij.xml.frontend.split.xml
index 09b7b088ea0e..5679e7c9b588 100644
--- a/xml/xml-frontend-split/resources/intellij.xml.frontend.split.xml
+++ b/xml/xml-frontend-split/resources/intellij.xml.frontend.split.xml
@@ -7,14 +7,14 @@
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/DummyXmlResolveReferenceSupport.kt b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/DummyXmlResolveReferenceSupport.kt
new file mode 100644
index 000000000000..f1f5a58056a2
--- /dev/null
+++ b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/DummyXmlResolveReferenceSupport.kt
@@ -0,0 +1,22 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.xml.frontend.split.editor
+
+import com.intellij.psi.PsiElement
+import com.intellij.psi.PsiFile
+import com.intellij.psi.PsiReference
+import com.intellij.psi.impl.source.resolve.XmlResolveReferenceSupport
+import com.intellij.psi.xml.XmlEntityDecl
+
+class DummyXmlResolveReferenceSupport : XmlResolveReferenceSupport {
+ override fun resolveReference(reference: PsiReference?): PsiElement? {
+ return null
+ }
+
+ override fun resolveReference(ref: com.intellij.psi.xml.XmlEntityRef, targetFile: PsiFile?): XmlEntityDecl? {
+ return null
+ }
+
+ override fun resolveSchemaTypeOrElementOrAttributeReference(element: PsiElement): PsiElement? {
+ return null
+ }
+}
\ No newline at end of file
diff --git a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendFileImpl.kt b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendFileImpl.kt
deleted file mode 100644
index fc990c16925c..000000000000
--- a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendFileImpl.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.xml.frontend.split.editor
-
-import com.intellij.openapi.fileTypes.FileType
-import com.intellij.psi.FileViewProvider
-import com.intellij.psi.PsiElementVisitor
-import com.intellij.psi.impl.source.PsiFileImpl
-import com.intellij.psi.tree.IElementType
-
-abstract class FrontendFileImpl(
- viewProvider: FileViewProvider,
- elementType: IElementType,
-) : PsiFileImpl(elementType, elementType, viewProvider) {
-
- override fun getFileType(): FileType =
- viewProvider.fileType
-
- override fun accept(visitor: PsiElementVisitor) {
- visitor.visitFile(this)
- }
-}
diff --git a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlElementFactory.kt b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlElementFactory.kt
deleted file mode 100644
index 477e21fc32a3..000000000000
--- a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlElementFactory.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.intellij.xml.frontend.split.editor
-
-import com.intellij.extapi.psi.ASTWrapperPsiElement
-import com.intellij.html.embedding.BasicHtmlRawTextElementFactory
-import com.intellij.lang.ASTNode
-import com.intellij.lang.html.BasicHtmlElementFactory
-import com.intellij.psi.FileViewProvider
-import com.intellij.psi.PsiElement
-import com.intellij.psi.PsiFile
-
-class FrontendHtmlElementFactory :
- BasicHtmlElementFactory,
- BasicHtmlRawTextElementFactory {
-
- override fun createFile(viewProvider: FileViewProvider): PsiFile =
- FrontendHtmlFileImpl(viewProvider)
-
- override fun createElement(node: ASTNode): PsiElement =
- ASTWrapperPsiElement(node)
-
- override fun createRawTextElement(node: ASTNode): PsiElement =
- ASTWrapperPsiElement(node)
-}
diff --git a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlFileImpl.kt b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlFileImpl.kt
deleted file mode 100644
index d98a5df8a2a2..000000000000
--- a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlFileImpl.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.intellij.xml.frontend.split.editor
-
-import com.intellij.psi.FileViewProvider
-import com.intellij.psi.xml.XmlElementType
-
-class FrontendHtmlFileImpl(
- viewProvider: FileViewProvider,
-) : FrontendFileImpl(viewProvider, XmlElementType.HTML_FILE) {
-
- override fun toString(): String =
- "HtmlFile:$name"
-}
diff --git a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlHighlightErrorFilter.kt b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlHighlightErrorFilter.kt
index c913e313514b..8eeeeb23c65d 100644
--- a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlHighlightErrorFilter.kt
+++ b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendHtmlHighlightErrorFilter.kt
@@ -2,11 +2,16 @@
package com.intellij.xml.frontend.split.editor
import com.intellij.codeInsight.highlighting.HighlightErrorFilter
+import com.intellij.idea.AppModeAssertions
import com.intellij.psi.PsiErrorElement
+import com.intellij.psi.impl.source.xml.XmlFileImpl
class FrontendHtmlHighlightErrorFilter: HighlightErrorFilter() {
override fun shouldHighlightErrorElement(element: PsiErrorElement): Boolean {
val psiFile = element.getContainingFile()
- return psiFile !is FrontendFileImpl
+
+ if (psiFile is XmlFileImpl) return !AppModeAssertions.isFrontend()
+
+ return true
}
}
\ No newline at end of file
diff --git a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendXmlElementFactory.kt b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendXmlElementFactory.kt
deleted file mode 100644
index 2faeec045b8e..000000000000
--- a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendXmlElementFactory.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.intellij.xml.frontend.split.editor
-
-import com.intellij.extapi.psi.ASTWrapperPsiElement
-import com.intellij.lang.ASTNode
-import com.intellij.lang.xml.BasicXmlElementFactory
-import com.intellij.psi.FileViewProvider
-import com.intellij.psi.PsiElement
-import com.intellij.psi.PsiFile
-import com.intellij.psi.tree.IElementType
-import com.intellij.psi.tree.IFileElementType
-
-class FrontendXmlElementFactory :
- BasicXmlElementFactory {
- override fun createFile(
- viewProvider: FileViewProvider,
- elementType: IElementType,
- ): PsiFile =
- FrontendXmlFileImpl(viewProvider, IFileElementType(viewProvider.baseLanguage))
-
- override fun createElement(node: ASTNode): PsiElement =
- ASTWrapperPsiElement(node)
-}
diff --git a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendXmlFileImpl.kt b/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendXmlFileImpl.kt
deleted file mode 100644
index 0c9816ee16d9..000000000000
--- a/xml/xml-frontend-split/src/com/intellij/xml/frontend/split/editor/FrontendXmlFileImpl.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.intellij.xml.frontend.split.editor
-
-import com.intellij.psi.FileViewProvider
-import com.intellij.psi.tree.IElementType
-
-class FrontendXmlFileImpl(
- viewProvider: FileViewProvider,
- elementType: IElementType,
-) : FrontendFileImpl(viewProvider, elementType) {
-
- override fun toString(): String =
- "XmlFile:$name"
-}
diff --git a/xml/xml-psi-impl/BUILD.bazel b/xml/xml-psi-impl/BUILD.bazel
index 1e2f0c79540e..1c945e3b51fd 100644
--- a/xml/xml-psi-impl/BUILD.bazel
+++ b/xml/xml-psi-impl/BUILD.bazel
@@ -53,7 +53,6 @@ jvm_library(
runtime_deps = [
":psi-impl_resources",
":psi-impl_resources_1",
- "//platform/backend",
]
)
### auto-generated section `build intellij.xml.psi.impl` end
\ No newline at end of file
diff --git a/xml/xml-psi-impl/intellij.xml.psi.impl.iml b/xml/xml-psi-impl/intellij.xml.psi.impl.iml
index 1184325823f3..5c766d22fb04 100644
--- a/xml/xml-psi-impl/intellij.xml.psi.impl.iml
+++ b/xml/xml-psi-impl/intellij.xml.psi.impl.iml
@@ -34,7 +34,6 @@
-
diff --git a/xml/xml-psi-impl/resources/intellij.xml.psi.impl.xml b/xml/xml-psi-impl/resources/intellij.xml.psi.impl.xml
index 024cee37ca22..7a9fb7259e15 100644
--- a/xml/xml-psi-impl/resources/intellij.xml.psi.impl.xml
+++ b/xml/xml-psi-impl/resources/intellij.xml.psi.impl.xml
@@ -1,6 +1,5 @@
-