1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Removed an extraneous back-end call to resolve the memory address.

This commit is contained in:
Francois Chouinard 2007-12-18 19:15:09 +00:00
parent 0f9a2839a8
commit 210443c47a

View file

@ -30,7 +30,6 @@ import org.eclipse.dd.dsf.debug.service.IExpressions;
import org.eclipse.dd.dsf.debug.service.IFormattedValues; import org.eclipse.dd.dsf.debug.service.IFormattedValues;
import org.eclipse.dd.dsf.debug.service.IMemory; import org.eclipse.dd.dsf.debug.service.IMemory;
import org.eclipse.dd.dsf.debug.service.IExpressions.IExpressionDMContext; import org.eclipse.dd.dsf.debug.service.IExpressions.IExpressionDMContext;
import org.eclipse.dd.dsf.debug.service.IExpressions.IExpressionDMData;
import org.eclipse.dd.dsf.debug.service.IFormattedValues.FormattedValueDMContext; import org.eclipse.dd.dsf.debug.service.IFormattedValues.FormattedValueDMContext;
import org.eclipse.dd.dsf.debug.service.IFormattedValues.FormattedValueDMData; import org.eclipse.dd.dsf.debug.service.IFormattedValues.FormattedValueDMData;
import org.eclipse.dd.dsf.debug.service.IMemory.IMemoryDMContext; import org.eclipse.dd.dsf.debug.service.IMemory.IMemoryDMContext;
@ -293,7 +292,7 @@ public class DsfMemoryBlockRetrieval extends PlatformObject implements IMemoryBl
private BigInteger resolveMemoryAddress(final IDMContext idmContext, final String expression) throws DebugException { private BigInteger resolveMemoryAddress(final IDMContext idmContext, final String expression) throws DebugException {
// Use a Query to "synchronise" the downstream calls // Use a Query to "synchronize" the downstream calls
Query<BigInteger> query = new Query<BigInteger>() { Query<BigInteger> query = new Query<BigInteger>() {
@Override @Override
protected void execute(final DataRequestMonitor<BigInteger> drm) { protected void execute(final DataRequestMonitor<BigInteger> drm) {
@ -302,10 +301,6 @@ public class DsfMemoryBlockRetrieval extends PlatformObject implements IMemoryBl
if (expressionService != null) { if (expressionService != null) {
// Create the expression // Create the expression
final IExpressionDMContext expressionDMC = expressionService.createExpression(idmContext, expression); final IExpressionDMContext expressionDMC = expressionService.createExpression(idmContext, expression);
expressionService.getExpressionData(expressionDMC, new DataRequestMonitor<IExpressionDMData>(getExecutor(), drm) {
@Override
protected void handleOK() {
// Evaluate the expression - request HEX since it works in every case
String formatId = IFormattedValues.HEX_FORMAT; String formatId = IFormattedValues.HEX_FORMAT;
FormattedValueDMContext valueDmc = expressionService.getFormattedValueContext(expressionDMC, formatId); FormattedValueDMContext valueDmc = expressionService.getFormattedValueContext(expressionDMC, formatId);
expressionService.getFormattedExpressionValue( expressionService.getFormattedExpressionValue(
@ -322,12 +317,10 @@ public class DsfMemoryBlockRetrieval extends PlatformObject implements IMemoryBl
} }
); );
} }
});
}
} }
}; };
fExecutor.execute(query); fExecutor.execute(query);
try { try {
// The happy case // The happy case
return query.get(); return query.get();