js debugger: fix breakpoints in scripts from generated html (WEB-12527)

GitOrigin-RevId: 99b5bcfc92d4cce763211d61d0f1695333ee6ca2
This commit is contained in:
Konstantin Ulitin
2019-12-18 18:31:49 +00:00
committed by intellij-monorepo-bot
parent fac10bba0c
commit e0fb90159f
@@ -16,6 +16,7 @@
package org.jetbrains.debugger;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* A reference to some JavaScript text that you can set breakpoints on. The reference may
@@ -36,7 +37,7 @@ public abstract class BreakpointTarget {
public abstract <R> R accept(Visitor<R> visitor);
public interface Visitor<R> {
R visitScriptName(String scriptName);
R visitScriptName(String scriptName, @Nullable Script script);
R visitScript(Script script);
@@ -87,10 +88,19 @@ 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.
*/
public static final class ScriptName extends BreakpointTarget {
@NotNull
private final String name;
@Nullable
private final Script script;
public ScriptName(@NotNull String name) {
this.name = name;
this.script = null;
}
public ScriptName(@NotNull Script script) {
this.script = script;
this.name = script.getUrl().toDecodedForm();
}
@NotNull
@@ -98,6 +108,11 @@ public abstract class BreakpointTarget {
return name;
}
@Nullable
public Script getScript() {
return script;
}
@Override
public String toString() {
return name;
@@ -105,7 +120,7 @@ public abstract class BreakpointTarget {
@Override
public <R> R accept(@NotNull Visitor<R> visitor) {
return visitor.visitScriptName(name);
return visitor.visitScriptName(name, script);
}
@Override