ShredImpl (@NotNull PlaceInfo info, @NotNull StringBuilder outChars, @NotNull PsiFile hostPsiFile) { decode(info, outChars); TextRange relevantRange = info.rangeInHostElement; TextRange hostTextRange = info.host.getTextRange(); TextRange relevantRangeInHostFile = relevantRange.shiftRight(hostTextRange.getStartOffset()); SmartPointerManagerImpl manager = (SmartPointerManagerImpl)SmartPointerManager.getInstance(hostPsiFile.getProject()); return new ShredImpl(manager.createSmartPsiFileRangePointer(hostPsiFile, relevantRangeInHostFile, true), manager.createSmartPsiElementPointer(info.host, hostPsiFile, true), info.prefix, info.suffix, info.rangeInDecodedPSI, false, info.myEscaper.isOneLine()); }