Merge remote-tracking branch

'origin/GP-6783_Dan_delintTransientState--SQUASHED'
This commit is contained in:
Ryan Kurtz
2026-05-12 12:23:26 -04:00
10 changed files with 201 additions and 183 deletions

View File

@@ -352,33 +352,6 @@ public class DebuggerListingPlugin extends AbstractCodeBrowserPlugin<DebuggerLis
return goTo(loc, centerOnScreen);
}
/**
* {@inheritDoc}
*
* <p>
* This is only used by the ProgramManager. I don't need state per program. It would be nice to
* have state per Trace, but this facility is usurped only for the ProgramManager. Here, it gets
* in my way, since it restores previous, now incorrect, state on program switch. It tends to
* override the static sync.
*/
@Override
public Object getTransientState() {
// ProgramManager does all this for programs. I don't need that here.
return new Object[] {};
}
/**
* {@inheritDoc}
*
* @see #getTransientState()
*/
@Override
public void restoreTransientState(Object objectState) {
/*try (Suppression supp = cbGoTo.suppress(null)) {
super.restoreTransientState(objectState);
}*/
}
@Override
public void writeDataState(SaveState saveState) {
SaveState connectedProviderState = new SaveState();

View File

@@ -166,13 +166,13 @@ public class DebuggerMemoryBytesPlugin
}
@Override
public Object getTransientState() {
public ByteViewerTransientState getTransientState() {
// Not needed, since I'm not coordinated with ProgramManager
return new Object[] {};
return null;
}
@Override
public void restoreTransientState(Object objectState) {
public void restoreTransientState(ByteViewerTransientState objectState) {
// Not needed, since I'm not coordinated with ProgramManager
}

View File

@@ -504,8 +504,12 @@ public class DebuggerEmulationServicePlugin extends Plugin implements DebuggerEm
!ProgramEmulationUtils.isEmulatedProgram(current.getTrace())) {
return false;
}
ProgramLocation programLoc = ctx.getLocation();
if (programLoc == null) {
return false;
}
TraceLocation traceLoc = staticMappings.getOpenMappedLocation(
current.getTrace(), ctx.getLocation(), current.getSnap());
current.getTrace(), programLoc, current.getSnap());
if (traceLoc == null) {
return false;
}