use of com.intellij.debugger.ui.breakpoints.StepIntoBreakpoint in project intellij-community by JetBrains.
the class LambdaAsyncMethodFilter method onReached.
@Override
public int onReached(SuspendContextImpl context, RequestHint hint) {
try {
StackFrameProxyImpl proxy = context.getFrameProxy();
if (proxy != null) {
Value lambdaReference = ContainerUtil.getOrElse(proxy.getArgumentValues(), myParamNo, null);
if (lambdaReference instanceof ObjectReference) {
final SourcePosition pos = myMethodFilter.getBreakpointPosition();
if (pos != null) {
Project project = context.getDebugProcess().getProject();
long lambdaId = ((ObjectReference) lambdaReference).uniqueID();
StepIntoBreakpoint breakpoint = new LambdaInstanceBreakpoint(project, lambdaId, pos, myMethodFilter);
ClassInstanceMethodFilter.setUpStepIntoBreakpoint(context, breakpoint, hint);
return RequestHint.RESUME;
}
}
}
} catch (EvaluateException ignore) {
}
return RequestHint.STOP;
}
use of com.intellij.debugger.ui.breakpoints.StepIntoBreakpoint in project intellij-community by JetBrains.
the class ClassInstanceMethodFilter method onReached.
@Override
public int onReached(SuspendContextImpl context, RequestHint hint) {
StackFrameProxyImpl proxy = context.getFrameProxy();
if (proxy != null) {
try {
ObjectReference reference = proxy.thisObject();
if (reference != null) {
StepIntoBreakpoint breakpoint = DebuggerManagerEx.getInstanceEx(context.getDebugProcess().getProject()).getBreakpointManager().addStepIntoBreakpoint(myMethodFilter);
if (breakpoint != null) {
breakpoint.addInstanceFilter(reference.uniqueID());
breakpoint.setInstanceFiltersEnabled(true);
setUpStepIntoBreakpoint(context, breakpoint, hint);
return RequestHint.RESUME;
}
}
} catch (EvaluateException ignored) {
}
}
return RequestHint.STOP;
}
Aggregations