diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/StackCapturingLineBreakpoint.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/StackCapturingLineBreakpoint.java index e3e43c4641f3..49ad2cc50c1b 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/StackCapturingLineBreakpoint.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/StackCapturingLineBreakpoint.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import com.intellij.debugger.engine.events.SuspendContextCommandImpl; import com.intellij.debugger.jdi.StackFrameProxyImpl; import com.intellij.debugger.memory.utils.StackFrameItem; import com.intellij.debugger.settings.DebuggerSettings; +import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Key; import com.intellij.util.containers.ContainerUtil; @@ -43,8 +44,6 @@ import java.util.Map; * @author egor */ public class StackCapturingLineBreakpoint extends WildcardMethodBreakpoint { - private final DebugProcessImpl myDebugProcess; - private final String mySignature; private final int myParamNo; @@ -53,13 +52,12 @@ public class StackCapturingLineBreakpoint extends WildcardMethodBreakpoint { private final JavaMethodBreakpointProperties myProperties = new JavaMethodBreakpointProperties(); - public StackCapturingLineBreakpoint(DebugProcessImpl debugProcess, + public StackCapturingLineBreakpoint(Project project, String className, String methodName, String methodSignature, int paramNo) { - super(debugProcess.getProject(), null); - myDebugProcess = debugProcess; + super(project, null); mySignature = methodSignature; myParamNo = paramNo; myProperties.EMULATED = true; @@ -86,7 +84,8 @@ public class StackCapturingLineBreakpoint extends WildcardMethodBreakpoint { if (suspendContext != null) { StackFrameProxyImpl frameProxy = suspendContext.getFrameProxy(); if (frameProxy != null) { - Map> stacks = myDebugProcess.getUserData(CAPTURED_STACKS); + DebugProcessImpl process = suspendContext.getDebugProcess(); + Map> stacks = process.getUserData(CAPTURED_STACKS); if (stacks == null) { stacks = new LinkedHashMap>() { @Override @@ -94,7 +93,7 @@ public class StackCapturingLineBreakpoint extends WildcardMethodBreakpoint { return size() > MAX_STORED_STACKS; } }; - myDebugProcess.putUserData(CAPTURED_STACKS, Collections.synchronizedMap(stacks)); + process.putUserData(CAPTURED_STACKS, Collections.synchronizedMap(stacks)); } Value key = ContainerUtil.getOrElse(frameProxy.getArgumentValues(), myParamNo, null); if (key instanceof ObjectReference) { @@ -117,7 +116,8 @@ public class StackCapturingLineBreakpoint extends WildcardMethodBreakpoint { } public static void track(DebugProcessImpl debugProcess, String classFqn, String methodName, @Nullable String methodSignature, int paramNo) { - StackCapturingLineBreakpoint breakpoint = new StackCapturingLineBreakpoint(debugProcess, classFqn, methodName, methodSignature, paramNo); + StackCapturingLineBreakpoint breakpoint = + new StackCapturingLineBreakpoint(debugProcess.getProject(), classFqn, methodName, methodSignature, paramNo); breakpoint.createRequest(debugProcess); } }