From 5109e11a4e234dd5fcf4ddfc73705cb77234ed02 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 27 Mar 2013 18:06:21 +0100 Subject: [PATCH] logging for EA-31908 - assert: TemplateBuilderImpl.buildTemplate (cherry picked from commit 7c83b17c0411f045271f0feeba97123dcc658d3c) --- .../template/TemplateBuilderImpl.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/TemplateBuilderImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/template/TemplateBuilderImpl.java index 44f2944d8304..99844a8918e6 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/TemplateBuilderImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/TemplateBuilderImpl.java @@ -195,13 +195,18 @@ public class TemplateBuilderImpl implements TemplateBuilder { int start = 0; for (final RangeMarker element : myElements) { int offset = element.getStartOffset() - containerStart; - LOG.assertTrue(start <= offset,"container: " + myContainerElement + " markers: " + - StringUtil.join(myElements, new Function() { - @Override - public String fun(RangeMarker rangeMarker) { - return "[" + rangeMarker.getStartOffset() + ", " + rangeMarker.getEndOffset() + "]"; - } - }, ", ")); + if (start > offset) { + LOG.error("file: " + myFile + + " container: " + myContainerElement + + " markers: " + StringUtil.join(myElements, new Function() { + @Override + public String fun(RangeMarker rangeMarker) { + final String docString = + myDocument.getText(new TextRange(rangeMarker.getStartOffset(), rangeMarker.getEndOffset())); + return "[[" + docString + "]" + rangeMarker.getStartOffset() + ", " + rangeMarker.getEndOffset() + "]"; + } + }, ", ")); + } template.addTextSegment(text.substring(start, offset)); if (element == mySelection) {