diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/ShredImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/ShredImpl.java index c38a07b70ae9..0d87d5d5c974 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/ShredImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/ShredImpl.java @@ -67,12 +67,13 @@ class ShredImpl implements PsiLanguageInjectionHost.Shred { @NotNull PsiLanguageInjectionHost newHost) { SmartPsiFileRange rangeMarker = relevantRangeInHost; Segment oldRangeInHostElementPSI = calcRangeInsideHostElement(false); - SmartPointerManager pointerManager = SmartPointerManager.getInstance(rangeMarker.getProject()); - SmartPsiElementPointer newHostPointer = pointerManager.createSmartPsiElementPointer(newHost); + SmartPointerManagerImpl pointerManager = (SmartPointerManagerImpl)SmartPointerManager.getInstance(rangeMarker.getProject()); + SmartPsiElementPointer newHostPointer = pointerManager.createSmartPsiElementPointer(newHost, newHost.getContainingFile(), true); if (!rangeInHostElementPSI.equals(TextRange.create(oldRangeInHostElementPSI))) { Segment hostElementRange = newHostPointer.getRange(); - rangeMarker = ((SmartPointerManagerImpl)pointerManager).createSmartPsiFileRangePointer(rangeMarker.getContainingFile(), rangeInHostElementPSI.shiftRight(hostElementRange.getStartOffset()), true); + rangeMarker = pointerManager + .createSmartPsiFileRangePointer(rangeMarker.getContainingFile(), rangeInHostElementPSI.shiftRight(hostElementRange.getStartOffset()), true); } return new ShredImpl(rangeMarker, newHostPointer, prefix, suffix, rangeInDecodedPSI, usePsiRange, isOneLine); }