From 99d2b417f119b20f674de2b2f8d4c5a23cd8f09c Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 28 Oct 2015 13:11:15 +0100 Subject: [PATCH] report each "PSI invalidated outside transaction" trace only once in a more memory-efficient way (IDEA-CR-6268) --- platform/core-impl/src/com/intellij/psi/impl/DebugUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/DebugUtil.java b/platform/core-impl/src/com/intellij/psi/impl/DebugUtil.java index 1886771a23ef..c152eb8ae08e 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/DebugUtil.java +++ b/platform/core-impl/src/com/intellij/psi/impl/DebugUtil.java @@ -514,7 +514,7 @@ public class DebugUtil { private static final ThreadLocal ourPsiModificationTrace = new ThreadLocal(); private static final ThreadLocal ourPsiModificationDepth = new ThreadLocal(); - private static final Set ourNonTransactedTraces = ContainerUtil.newConcurrentSet(); + private static final Set ourNonTransactedTraces = ContainerUtil.newConcurrentSet(); /** * Marks a start of PSI modification action. Any PSI/AST elements invalidated inside such an action will contain a debug trace @@ -596,7 +596,7 @@ public class DebugUtil { Object trace = ourPsiModificationTrace.get(); if (trace == null) { trace = new Throwable(); - if (ourNonTransactedTraces.add(ExceptionUtil.getThrowableText((Throwable)trace))) { + if (ourNonTransactedTraces.add(ExceptionUtil.getThrowableText((Throwable)trace).hashCode())) { LOG.info("PSI invalidated outside transaction", (Throwable)trace); } }