diff --git a/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointBase.java b/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointBase.java index 2335b0973c26..b8d8df95f0ee 100644 --- a/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointBase.java +++ b/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointBase.java @@ -88,11 +88,18 @@ public abstract class BreakpointBase extends Breakpoint { public void setActualLocations(@Nullable List value) { actualLocations.clear(); - if (value != null && !value.isEmpty()) { + if (!ContainerUtil.isEmpty(value)) { actualLocations.addAll(value); } } + public void setActualLocation(@Nullable L value) { + actualLocations.clear(); + if (value != null) { + actualLocations.add(value); + } + } + public abstract boolean isVmRegistered(); @Override diff --git a/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointManagerBase.java b/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointManagerBase.java index 20f34d7ae001..a9fbec685cea 100644 --- a/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointManagerBase.java +++ b/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointManagerBase.java @@ -41,7 +41,7 @@ public abstract class BreakpointManagerBase> impleme protected abstract T createBreakpoint(@NotNull BreakpointTarget target, int line, int column, @Nullable String condition, int ignoreCount, boolean enabled); - protected abstract AsyncResult doSetBreakpoint(BreakpointTarget target, T breakpoint); + protected abstract AsyncResult doSetBreakpoint(@NotNull BreakpointTarget target, @NotNull T breakpoint); @Override public Breakpoint setBreakpoint(@NotNull final BreakpointTarget target, int line, int column, @Nullable String condition, int ignoreCount, boolean enabled) { @@ -107,4 +107,10 @@ public abstract class BreakpointManagerBase> impleme dispatcher.getMulticaster().resolved(breakpoint); } } + + @Nullable + @Override + public FunctionSupport getFunctionSupport() { + return null; + } } \ No newline at end of file diff --git a/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointTarget.java b/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointTarget.java index 9f4d2bd55fe9..604b08d8bfd4 100644 --- a/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointTarget.java +++ b/platform/script-debugger/backend/src/org/jetbrains/debugger/BreakpointTarget.java @@ -63,7 +63,6 @@ public abstract class BreakpointTarget { /** * A target that refers to a script by its name. Breakpoint will be set on every matching script currently loaded in VM. - * E.g. you can safely set a breakpoint before the script is actually loaded. */ public static final class ScriptName extends BreakpointTarget { private final String name; @@ -72,6 +71,11 @@ public abstract class BreakpointTarget { this.name = name; } + @NotNull + public String getName() { + return name; + } + @Override public R accept(@NotNull Visitor visitor) { return visitor.visitScriptName(name); diff --git a/platform/script-debugger/protocol/protocol-reader/src/org/jetbrains/protocolReader/ObjectValueReader.java b/platform/script-debugger/protocol/protocol-reader/src/org/jetbrains/protocolReader/ObjectValueReader.java index d6e4275ae0e3..9f8e3c9b63c7 100644 --- a/platform/script-debugger/protocol/protocol-reader/src/org/jetbrains/protocolReader/ObjectValueReader.java +++ b/platform/script-debugger/protocol/protocol-reader/src/org/jetbrains/protocolReader/ObjectValueReader.java @@ -43,6 +43,7 @@ class ObjectValueReader extends ValueReader { refToType.get().writeInstantiateCode(scope.getRootClassScope(), subtyping, out); out.append('('); addReaderParameter(subtyping, out); + out.comma().append("null"); if (subtyping && refToType.get().getSubtypeSupport() != null) { out.comma().append("this"); }