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(); }