avoid the need to declare LiftingFailedException (after this exception has been hardened):
- do not declare role as abstract but catch the case when an unspecific role was actually created by lifting.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java
index 15eb54c..8977350 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java
@@ -72,13 +72,20 @@
return instance;
}
- @SuppressWarnings("abstractrelevantrole")
- protected abstract class AbstractOTJStackFrame playedBy IJavaStackFrame {
+ protected class AbstractOTJStackFrame playedBy IJavaStackFrame {
// store analyzed method kind between calls:
protected MethodKind kind= MethodKind.PLAIN;
- abstract protected boolean isOTSpecialSrc();
- abstract protected boolean isPurelyGenerated();
+ protected boolean isOTSpecialSrc() {
+ OTDebugAdaptorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, OTDebugAdaptorPlugin.PLUGIN_ID, "Failed to create specific role for "+this.toString()));
+ return false;
+ }
+ protected boolean isPurelyGenerated() {
+ OTDebugAdaptorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, OTDebugAdaptorPlugin.PLUGIN_ID, "Failed to create specific role for "+this.toString()));
+ return false;
+ }
+
+ public String toString() => String toString();
}
@SuppressWarnings("unchecked")
protected class OTJStackFrame extends AbstractOTJStackFrame playedBy JDIStackFrame