mozilla rdp — init breakpoint management

This commit is contained in:
Vladimir Krivosheev
2014-11-05 13:42:35 +01:00
parent 8e1407253c
commit cf5c7707fa
4 changed files with 21 additions and 3 deletions
@@ -88,11 +88,18 @@ public abstract class BreakpointBase<L> extends Breakpoint {
public void setActualLocations(@Nullable List<L> 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
@@ -41,7 +41,7 @@ public abstract class BreakpointManagerBase<T extends BreakpointBase<?>> impleme
protected abstract T createBreakpoint(@NotNull BreakpointTarget target, int line, int column, @Nullable String condition, int ignoreCount, boolean enabled);
protected abstract AsyncResult<Breakpoint> doSetBreakpoint(BreakpointTarget target, T breakpoint);
protected abstract AsyncResult<Breakpoint> 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<T extends BreakpointBase<?>> impleme
dispatcher.getMulticaster().resolved(breakpoint);
}
}
@Nullable
@Override
public FunctionSupport getFunctionSupport() {
return null;
}
}
@@ -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> R accept(@NotNull Visitor<R> visitor) {
return visitor.visitScriptName(name);
@@ -43,6 +43,7 @@ class ObjectValueReader<T> 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");
}