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 @@ -