diff --git a/platform/projectModel-impl/src/com/intellij/configurationStore/DefaultStateSerializer.kt b/platform/projectModel-impl/src/com/intellij/configurationStore/DefaultStateSerializer.kt index e079a67292d1..a3f6dde6e3a1 100644 --- a/platform/projectModel-impl/src/com/intellij/configurationStore/DefaultStateSerializer.kt +++ b/platform/projectModel-impl/src/com/intellij/configurationStore/DefaultStateSerializer.kt @@ -30,7 +30,7 @@ fun deserializeState(stateElement: Element?, stateClass: Class, mergeInto stateClass == Element::class.java -> stateElement as T? JDOMExternalizable::class.java.isAssignableFrom(stateClass) -> { if (mergeInto != null) { - LOG.error("State is ${stateClass.name}, merge into is ${mergeInto.toString()}, state element text is ${JDOMUtil.writeElement(stateElement)}") + LOG.error("State is ${stateClass.name}, merge into is $mergeInto, state element text is ${JDOMUtil.writeElement(stateElement)}") } val t = ReflectionUtil.newInstance(stateClass) diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerManagerImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerManagerImpl.java index f7f8f527be6e..18dc8626aa73 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerManagerImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerManagerImpl.java @@ -335,9 +335,11 @@ public class XDebuggerManagerImpl extends XDebuggerManager } @Override - public void loadState(final XDebuggerState state) { - myBreakpointManager.loadState(state.myBreakpointManagerState); - myWatchesManager.loadState(state.myWatchesManagerState); + public void loadState(@NotNull XDebuggerState state) { + XBreakpointManagerImpl.BreakpointManagerState breakpointManagerState = state.myBreakpointManagerState; + myBreakpointManager.loadState(breakpointManagerState == null ? new XBreakpointManagerImpl.BreakpointManagerState() : breakpointManagerState); + XDebuggerWatchesManager.WatchesManagerState managerState = state.myWatchesManagerState; + myWatchesManager.loadState(managerState == null ? new XDebuggerWatchesManager.WatchesManagerState() : managerState); } public void showExecutionPosition() { @@ -346,32 +348,36 @@ public class XDebuggerManagerImpl extends XDebuggerManager @SuppressWarnings("UnusedDeclaration") public static class XDebuggerState { + @Nullable private XBreakpointManagerImpl.BreakpointManagerState myBreakpointManagerState; + @Nullable private XDebuggerWatchesManager.WatchesManagerState myWatchesManagerState; public XDebuggerState() { } - public XDebuggerState(final XBreakpointManagerImpl.BreakpointManagerState breakpointManagerState, XDebuggerWatchesManager.WatchesManagerState watchesManagerState) { + public XDebuggerState(@Nullable XBreakpointManagerImpl.BreakpointManagerState breakpointManagerState, @Nullable XDebuggerWatchesManager.WatchesManagerState watchesManagerState) { myBreakpointManagerState = breakpointManagerState; myWatchesManagerState = watchesManagerState; } + @Nullable @Property(surroundWithTag = false) public XBreakpointManagerImpl.BreakpointManagerState getBreakpointManagerState() { return myBreakpointManagerState; } - public void setBreakpointManagerState(final XBreakpointManagerImpl.BreakpointManagerState breakpointManagerState) { + public void setBreakpointManagerState(@Nullable final XBreakpointManagerImpl.BreakpointManagerState breakpointManagerState) { myBreakpointManagerState = breakpointManagerState; } + @Nullable @Property(surroundWithTag = false) public XDebuggerWatchesManager.WatchesManagerState getWatchesManagerState() { return myWatchesManagerState; } - public void setWatchesManagerState(XDebuggerWatchesManager.WatchesManagerState watchesManagerState) { + public void setWatchesManagerState(@Nullable XDebuggerWatchesManager.WatchesManagerState watchesManagerState) { myWatchesManagerState = watchesManagerState; } } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java index 2b0e172c3872..699f5b284f83 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl.java @@ -387,7 +387,7 @@ public class XBreakpointManagerImpl implements XBreakpointManager, PersistentSta } @Override - public void loadState(final BreakpointManagerState state) { + public void loadState(@NotNull BreakpointManagerState state) { myBreakpointsDialogSettings = state.getBreakpointsDialogProperties(); myAllBreakpoints.clear();