blob: 993add1955796407407499499bc630cdbda0b076 [file] [log] [blame]
package com.jetbrains.python.debugger.pydev;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class SetBreakpointCommand extends LineBreakpointCommand {
private @Nullable final String myCondition;
private @Nullable final String myLogExpression;
public SetBreakpointCommand(@NotNull final RemoteDebugger debugger,
@NotNull final String type,
@NotNull final String file,
@NotNull final int line) {
this(debugger, type, file, line, null, null);
}
public SetBreakpointCommand(@NotNull final RemoteDebugger debugger,
@NotNull final String type,
@NotNull final String file,
@NotNull final int line,
@Nullable final String condition,
@Nullable final String logExpression) {
super(debugger, type, SET_BREAKPOINT, file, line);
myCondition = condition;
myLogExpression = logExpression;
}
@Override
protected void buildPayload(Payload payload) {
super.buildPayload(payload);
payload.add(buildCondition(myCondition)).add(buildCondition(myLogExpression));
}
@NotNull
private static String buildCondition(String expression) {
String condition;
if (expression != null) {
condition = expression.replaceAll("\n", NEW_LINE_CHAR);
condition = condition.replaceAll("\t", TAB_CHAR);
}
else {
condition = "None";
}
return condition;
}
}