mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-24 01:15:29 +02:00
Bug 330342 - Memory Browser does not work when memory block retrieval does not implement IAdaptable
This commit is contained in:
parent
009a2d0523
commit
d09d23c02a
1 changed files with 13 additions and 10 deletions
|
@ -1152,17 +1152,20 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IM
|
|||
*/
|
||||
private IMemoryBlockExtension createMemoryBlock(IMemoryBlockRetrieval retrieval, String expression, Object context, String memorySpaceID) throws DebugException {
|
||||
IMemoryBlockExtension block = null;
|
||||
if(retrieval instanceof IAdaptable) {
|
||||
IMemoryBlockRetrievalExtension retrievalExtension = (IMemoryBlockRetrievalExtension)((IAdaptable) retrieval).getAdapter(IMemoryBlockRetrievalExtension.class);
|
||||
if (retrievalExtension != null) {
|
||||
if (retrievalExtension instanceof IMemorySpaceAwareMemoryBlockRetrieval) {
|
||||
block = ((IMemorySpaceAwareMemoryBlockRetrieval)retrievalExtension).getMemoryBlock(expression, context, memorySpaceID);
|
||||
}
|
||||
else {
|
||||
block = retrievalExtension.getExtendedMemoryBlock(expression, context);
|
||||
}
|
||||
}
|
||||
IMemoryBlockRetrievalExtension retrievalExtension = null;
|
||||
if (retrieval instanceof IMemoryBlockRetrievalExtension) {
|
||||
retrievalExtension = (IMemoryBlockRetrievalExtension) retrieval;
|
||||
} else if(retrieval instanceof IAdaptable) {
|
||||
retrievalExtension = (IMemoryBlockRetrievalExtension)((IAdaptable) retrieval).getAdapter(IMemoryBlockRetrievalExtension.class);
|
||||
}
|
||||
if (retrievalExtension != null) {
|
||||
if (retrievalExtension instanceof IMemorySpaceAwareMemoryBlockRetrieval) {
|
||||
block = ((IMemorySpaceAwareMemoryBlockRetrieval)retrievalExtension).getMemoryBlock(expression, context, memorySpaceID);
|
||||
}
|
||||
else {
|
||||
block = retrievalExtension.getExtendedMemoryBlock(expression, context);
|
||||
}
|
||||
}
|
||||
if ( block == null ) {
|
||||
throw new DebugException(new Status(Status.ERROR, MemoryBrowserPlugin.PLUGIN_ID, "Extended Memory Block could not be obtained")); //$NON-NLS-1$
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue