package jetbrains.mps.ide.actions; /*Generated by MPS */ import jetbrains.mps.ide.platform.actions.MPSStackTraceFilter; import com.intellij.openapi.project.Project; import com.intellij.execution.filters.Filter; import com.intellij.openapi.vfs.VirtualFile; import jetbrains.mps.ide.common.FileOpenUtil; import com.intellij.execution.filters.HyperlinkInfo; public class StandaloneMPSStackTraceFilter extends MPSStackTraceFilter { public StandaloneMPSStackTraceFilter(Project project) { super(project); } @Override protected Filter.Result detectTarget(int hlStart, int hlEnd, final String unitName, final String fileName, final int lineNumber) { Filter.Result res = super.detectTarget(hlStart, hlEnd, unitName, fileName, lineNumber); if (res != null) { return res; } final VirtualFile virtualFile = FileOpenUtil.findFile(myProject, unitName, fileName); if (virtualFile == null) { return null; } return new Filter.Result(hlStart, hlEnd, new HyperlinkInfo() { @Override public void navigate(Project project) { FileOpenUtil.openFile(project, virtualFile, lineNumber); } }); } }