com.hubspot.chrome.devtools.client.core.debugger.CallFrame Maven / Gradle / Ivy
package com.hubspot.chrome.devtools.client.core.debugger;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hubspot.chrome.devtools.client.core.runtime.RemoteObject;
import java.util.List;
/**
* JavaScript call frame. Array of call frames form the call stack.
*/
public final class CallFrame {
private CallFrameId callFrameId;
private String functionName;
private Location functionLocation;
private Location location;
private String url;
private List scopeChain;
private RemoteObject returnValue;
@JsonCreator
public CallFrame(@JsonProperty("callFrameId") CallFrameId callFrameId,
@JsonProperty("functionName") String functionName,
@JsonProperty("functionLocation") Location functionLocation,
@JsonProperty("location") Location location, @JsonProperty("url") String url,
@JsonProperty("scopeChain") List scopeChain,
@JsonProperty("returnValue") RemoteObject returnValue) {
this.callFrameId = callFrameId;
this.functionName = functionName;
this.functionLocation = functionLocation;
this.location = location;
this.url = url;
this.scopeChain = scopeChain;
this.returnValue = returnValue;
}
public CallFrameId getCallFrameId() {
return callFrameId;
}
public String getFunctionName() {
return functionName;
}
public Location getFunctionLocation() {
return functionLocation;
}
public Location getLocation() {
return location;
}
public String getUrl() {
return url;
}
public List getScopeChain() {
return scopeChain;
}
public RemoteObject getReturnValue() {
return returnValue;
}
public static CallFrame.Builder builder() {
return new CallFrame.Builder();
}
public static final class Builder {
private CallFrameId callFrameId;
private String functionName;
private Location functionLocation;
private Location location;
private String url;
private List scopeChain;
private RemoteObject returnValue;
private Builder() {
}
public CallFrame.Builder setCallFrameId(CallFrameId callFrameId) {
this.callFrameId = callFrameId;
return this;
}
public CallFrame.Builder setFunctionName(String functionName) {
this.functionName = functionName;
return this;
}
public CallFrame.Builder setFunctionLocation(Location functionLocation) {
this.functionLocation = functionLocation;
return this;
}
public CallFrame.Builder setLocation(Location location) {
this.location = location;
return this;
}
public CallFrame.Builder setUrl(String url) {
this.url = url;
return this;
}
public CallFrame.Builder setScopeChain(List scopeChain) {
this.scopeChain = scopeChain;
return this;
}
public CallFrame.Builder setReturnValue(RemoteObject returnValue) {
this.returnValue = returnValue;
return this;
}
public CallFrame build() {
return new CallFrame(callFrameId, functionName, functionLocation, location, url, scopeChain, returnValue);
}
}
}