package jetbrains.mps.debug.api.run;
/*Generated by MPS */
import com.intellij.execution.configurations.RunProfileState;
import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.debug.api.IDebuggerSettings;
import jetbrains.mps.debug.api.EmptyDebuggerSettings;
public abstract class DebuggerRunProfileState implements RunProfileState {
private static final Logger LOG = LogManager.getLogger(DebuggerRunProfileState.class);
@NotNull
protected IDebuggerSettings myDebuggerSettings = EmptyDebuggerSettings.getInstance();
private boolean myUpdated = false;
public DebuggerRunProfileState() {
}
protected void updateDebuggerSettings() {
if (myUpdated) {
LOG.warn("Updating debugger settings twice.");
return;
}
myUpdated = true;
IDebuggerSettings debuggerSettings = getDebuggerConfiguration().createDebuggerSettings();
if (debuggerSettings != null) {
myDebuggerSettings = debuggerSettings;
}
}
@NotNull
public IDebuggerSettings getDebuggerSettings() {
updateDebuggerSettings();
return myDebuggerSettings;
}
@NotNull
public abstract IDebuggerConfiguration getDebuggerConfiguration();
}