diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/MultiHostRegistrarImpl.java')
-rw-r--r-- | platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/MultiHostRegistrarImpl.java | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/MultiHostRegistrarImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/MultiHostRegistrarImpl.java index 19f1aa2cd70f..8fa6c5771fdd 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/MultiHostRegistrarImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/MultiHostRegistrarImpl.java @@ -55,6 +55,7 @@ import com.intellij.psi.injection.ReferenceInjector; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtilCore; +import com.intellij.testFramework.LightVirtualFile; import com.intellij.util.SmartList; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -214,16 +215,7 @@ public class MultiHostRegistrarImpl implements MultiHostRegistrar, ModificationT Language forcedLanguage = myContextElement.getUserData(InjectedFileViewProvider.LANGUAGE_FOR_INJECTED_COPY_KEY); myLanguage = forcedLanguage == null ? LanguageSubstitutors.INSTANCE.substituteLanguage(myLanguage, virtualFile, myProject) : forcedLanguage; - DocumentImpl decodedDocument; - if (StringUtil.indexOf(outChars, '\r') == -1) { - decodedDocument = new DocumentImpl(outChars); - } - else { - decodedDocument = new DocumentImpl("", true); - decodedDocument.setAcceptSlashR(true); - decodedDocument.replaceString(0,0,outChars); - } - FileDocumentManagerImpl.registerDocument(decodedDocument, virtualFile); + createDocument(virtualFile); InjectedFileViewProvider viewProvider = new InjectedFileViewProvider(myPsiManager, virtualFile, documentWindow, myLanguage); ParserDefinition parserDefinition = LanguageParserDefinitions.INSTANCE.forLanguage(myLanguage); @@ -307,6 +299,14 @@ public class MultiHostRegistrarImpl implements MultiHostRegistrar, ModificationT } } + @NotNull + private static DocumentEx createDocument(@NotNull LightVirtualFile virtualFile) { + CharSequence content = virtualFile.getContent(); + DocumentImpl document = new DocumentImpl(content, StringUtil.indexOf(content, '\r') >= 0, false); + FileDocumentManagerImpl.registerDocument(document, virtualFile); + return document; + } + // returns true if shreds were set, false if old ones were reused private static boolean cacheEverything(@NotNull Place place, @NotNull DocumentWindowImpl documentWindow, |