From e3596acde25afef9d9b8daeb06f149dc82efa4d5 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 25 Dec 2017 15:31:07 +0300 Subject: [PATCH] diagnostics: print array contents --- .../src/com/intellij/psi/impl/PsiManagerImpl.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/PsiManagerImpl.java b/platform/core-impl/src/com/intellij/psi/impl/PsiManagerImpl.java index a7d8d8df8dc3..240f1c158dfd 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/PsiManagerImpl.java +++ b/platform/core-impl/src/com/intellij/psi/impl/PsiManagerImpl.java @@ -41,6 +41,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; +import java.util.Arrays; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @@ -288,11 +289,16 @@ public class PsiManagerImpl extends PsiManagerEx { beforeChange(true); event.setCode(PsiTreeChangeEventImpl.PsiEventType.BEFORE_PROPERTY_CHANGE); if (LOG.isDebugEnabled()) { - LOG.debug("beforePropertyChange: element = " + logPsi(event.getElement()) + ", propertyName = " + event.getPropertyName() + ", oldValue = " + event.getOldValue()); + LOG.debug("beforePropertyChange: element = " + logPsi(event.getElement()) + ", propertyName = " + event.getPropertyName() + ", oldValue = " + + arrayToString(event.getOldValue())); } fireEvent(event); } + private static Object arrayToString(Object value) { + return value instanceof Object[] ? Arrays.deepToString((Object[])value) : value; + } + public void childAdded(@NotNull PsiTreeChangeEventImpl event) { event.setCode(PsiTreeChangeEventImpl.PsiEventType.CHILD_ADDED); if (LOG.isDebugEnabled()) { @@ -344,8 +350,8 @@ public class PsiManagerImpl extends PsiManagerEx { LOG.debug( "propertyChanged: element = " + logPsi(event.getElement()) + ", propertyName = " + event.getPropertyName() - + ", oldValue = " + event.getOldValue() - + ", newValue = " + event.getNewValue() + + ", oldValue = " + arrayToString(event.getOldValue()) + + ", newValue = " + arrayToString(event.getNewValue()) ); } fireEvent(event);