Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java')
-rw-r--r--dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java58
1 files changed, 25 insertions, 33 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java
index efb542135a7..38cbd2e6691 100644
--- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java
+++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2012 Ericsson and others.
+ * Copyright (c) 2012, 2014 Ericsson and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
* Contributors:
* Marc Khouzam (Ericsson) - Initial Implementation
* Marc Khouzam (Ericsson) - Tests for Pattern Matching for variables (Bug 394408)
+ * Alvaro Sanchez-Leon (Ericsson AB) - Allow user to edit register groups (Bug 235747)
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests;
@@ -24,9 +25,7 @@ import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query;
-import org.eclipse.cdt.dsf.datamodel.CompositeDMContext;
import org.eclipse.cdt.dsf.datamodel.DMContexts;
-import org.eclipse.cdt.dsf.datamodel.IDMContext;
import org.eclipse.cdt.dsf.debug.service.IExpressions;
import org.eclipse.cdt.dsf.debug.service.IExpressions.IExpressionDMAddress;
import org.eclipse.cdt.dsf.debug.service.IExpressions.IExpressionDMContext;
@@ -36,9 +35,8 @@ import org.eclipse.cdt.dsf.debug.service.IExpressions3.IExpressionDMDataExtensio
import org.eclipse.cdt.dsf.debug.service.IFormattedValues;
import org.eclipse.cdt.dsf.debug.service.IFormattedValues.FormattedValueDMContext;
import org.eclipse.cdt.dsf.debug.service.IFormattedValues.FormattedValueDMData;
-import org.eclipse.cdt.dsf.debug.service.IRegisters;
import org.eclipse.cdt.dsf.debug.service.IRegisters.IRegisterDMContext;
-import org.eclipse.cdt.dsf.debug.service.IRegisters.IRegisterGroupDMContext;
+import org.eclipse.cdt.dsf.debug.service.IRegisters2;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext;
import org.eclipse.cdt.dsf.debug.service.IRunControl.StepType;
import org.eclipse.cdt.dsf.debug.service.IStack.IFrameDMContext;
@@ -67,7 +65,7 @@ public class GDBPatternMatchingExpressionsTest extends BaseTestCase {
private DsfServicesTracker fServicesTracker;
protected IMIExpressions fExpService;
- protected IRegisters fRegService;
+ protected IRegisters2 fRegService;
@Override
protected void setLaunchAttributes() {
@@ -88,7 +86,7 @@ public class GDBPatternMatchingExpressionsTest extends BaseTestCase {
fExpService = fServicesTracker.getService(IMIExpressions.class);
- fRegService = fServicesTracker.getService(IRegisters.class);
+ fRegService = fServicesTracker.getService(IRegisters2.class);
}
};
fSession.getExecutor().submit(runnable).get();
@@ -173,33 +171,27 @@ public class GDBPatternMatchingExpressionsTest extends BaseTestCase {
Query<String> query = new Query<String>() {
@Override
protected void execute(final DataRequestMonitor<String> rm) {
- fRegService.getRegisterGroups(threadDmc, new ImmediateDataRequestMonitor<IRegisterGroupDMContext[]>(rm) {
- @Override
- protected void handleSuccess() {
- fRegService.getRegisters(
- new CompositeDMContext(new IDMContext[] { getData()[0], threadDmc } ),
- new ImmediateDataRequestMonitor<IRegisterDMContext[]>(rm) {
- @Override
- protected void handleSuccess() {
- assert getData() instanceof MIRegisterDMC[];
- for (MIRegisterDMC register : (MIRegisterDMC[])getData()) {
- if (register.getName().equals(regName)) {
- final FormattedValueDMContext valueDmc = fRegService.getFormattedValueContext(register, IFormattedValues.HEX_FORMAT);
- fRegService.getFormattedExpressionValue(valueDmc, new ImmediateDataRequestMonitor<FormattedValueDMData>(rm) {
- @Override
- protected void handleSuccess() {
- rm.done(getData().getFormattedValue());
- };
- });
- return;
- }
- }
- // If we get here, we didn't find the register!
- assertTrue("Invalid register: " + regName, false);
+ fRegService.getRegisters(threadDmc,
+ new ImmediateDataRequestMonitor<IRegisterDMContext[]>(rm) {
+ @Override
+ protected void handleSuccess() {
+ assert getData() instanceof MIRegisterDMC[];
+ for (MIRegisterDMC register : (MIRegisterDMC[])getData()) {
+ if (register.getName().equals(regName)) {
+ final FormattedValueDMContext valueDmc = fRegService.getFormattedValueContext(register, IFormattedValues.HEX_FORMAT);
+ fRegService.getFormattedExpressionValue(valueDmc, new ImmediateDataRequestMonitor<FormattedValueDMData>(rm) {
+ @Override
+ protected void handleSuccess() {
+ rm.done(getData().getFormattedValue());
+ };
+ });
+ return;
}
- });
- }
- });
+ }
+ // If we get here, we didn't find the register!
+ assertTrue("Invalid register: " + regName, false);
+ }
+ });
}
};

Back to the top