Skip to content
Snippets Groups Projects
Commit 7cd70548 authored by Michael Leuschel's avatar Michael Leuschel
Browse files

try improve disprover for null origin project

for Rodin 3.5RC startup
parent 005e5e8b
Branches
Tags
No related merge requests found
...@@ -107,9 +107,18 @@ public class DisproverReasoner implements IReasoner { ...@@ -107,9 +107,18 @@ public class DisproverReasoner implements IReasoner {
// find the IEventBProject belonging to the sequent // find the IEventBProject belonging to the sequent
IPOSequent origin = (IPOSequent) sequent.getOrigin(); IPOSequent origin = (IPOSequent) sequent.getOrigin();
IEventBProject evbProject;
if (origin==null) { // no origin available; seems to happen in Rodin 3.5RC upon startup
System.out.println("No origin available for sequent")
// throw new InterruptedException(); // Should we do this instead of trying to work with null project?
evbProject = null;
} else {
IRodinProject project = origin.getRodinProject(); IRodinProject project = origin.getRodinProject();
IEventBProject evbProject = (IEventBProject) project evbProject = (IEventBProject) project
.getAdapter(IEventBProject.class); .getAdapter(IEventBProject.class);
}
ICounterExample counterExample = DisproverCommand.disprove( ICounterExample counterExample = DisproverCommand.disprove(
Animator.getAuxAnimator(), evbProject, allHypotheses, Animator.getAuxAnimator(), evbProject, allHypotheses,
selectedHypotheses, goal, timeoutFactor, context, pm); selectedHypotheses, goal, timeoutFactor, context, pm);
......
...@@ -73,6 +73,7 @@ public final class DisproverLoadCommand implements IComposableCommand { ...@@ -73,6 +73,7 @@ public final class DisproverLoadCommand implements IComposableCommand {
private boolean theoriesUsed() throws TranslationFailedException { private boolean theoriesUsed() throws TranslationFailedException {
try { try {
final IRodinElement[] elements; final IRodinElement[] elements;
if (project==null) { return false;}
elements = project.getRodinProject().getChildren(); elements = project.getRodinProject().getChildren();
for (IRodinElement element : elements) { for (IRodinElement element : elements) {
if (element instanceof IRodinFile) { if (element instanceof IRodinFile) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment