package jetbrains.mps.debug.api;

/*Generated by MPS */

import jetbrains.mps.annotations.GeneratedClass;
import org.jetbrains.annotations.Nullable;
import jetbrains.mps.debug.api.programState.IStackFrame;
import java.util.List;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.NonNls;

@GeneratedClass(node = "r:c02662c0-67c5-4c3a-8d3a-cd7ffe189340(jetbrains.mps.debug.api)/4474271214082914203", model = "r:c02662c0-67c5-4c3a-8d3a-cd7ffe189340(jetbrains.mps.debug.api)")
public interface IDebuggableFramesSelector {
  @Nullable
  IStackFrame findDeepestDebuggableFrame(List<IStackFrame> frames);
  int findDeepestDebuggableFrameIndex(List<IStackFrame> frames);
  boolean isDebuggableFrame(@NotNull IStackFrame frame);
  boolean isDebuggablePosition(@NonNls String unitName, @NonNls String fileName, int position);
  /**
   * * Tells if two position in code correspond to the same node.
   */
  boolean isSamePosition(String lastUnitName, String lastFileName, int lastLineNumber, int lastFrameCount, String nextUnitName, String nextFileName, int nextLineNumber, int nextFrameCount);
}
