mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 10:49:34 +02:00
GT-3571 Numerous changes to datatype resolve/replace addressing
performance and conflict handling. Corrected composite merge deficiencies. Added datatype resolve/equivalence caches for performance improvement. Added deferred pointer resolution for structures and unions. Corrected datatype parent/child update
This commit is contained in:
parent
d5cc72fd14
commit
c2d9629f57
113 changed files with 3515 additions and 1853 deletions
|
@ -15,8 +15,7 @@
|
|||
*/
|
||||
package ghidra.program.model.data;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
@ -111,7 +110,7 @@ public class CompositeTestUtils {
|
|||
}
|
||||
|
||||
private static void collectComposites(Composite composite, Set<Composite> collection) {
|
||||
for (DataTypeComponent c : composite.getComponents()) {
|
||||
for (DataTypeComponent c : composite.getDefinedComponents()) {
|
||||
DataType dt = c.getDataType();
|
||||
if (dt instanceof Composite) {
|
||||
Composite childComposite = (Composite) dt;
|
||||
|
|
|
@ -17,7 +17,6 @@ package ghidra.program.model.data;
|
|||
|
||||
import java.net.URL;
|
||||
|
||||
import ghidra.app.plugin.core.datamgr.archive.SourceArchive;
|
||||
import ghidra.docking.settings.Settings;
|
||||
import ghidra.docking.settings.SettingsDefinition;
|
||||
import ghidra.program.model.mem.MemBuffer;
|
||||
|
|
|
@ -17,8 +17,8 @@ package ghidra.program.model.data;
|
|||
|
||||
import java.util.*;
|
||||
|
||||
import ghidra.app.plugin.core.datamgr.archive.SourceArchive;
|
||||
import ghidra.util.*;
|
||||
import ghidra.util.exception.CancelledException;
|
||||
import ghidra.util.task.TaskMonitor;
|
||||
|
||||
/**
|
||||
|
@ -58,6 +58,12 @@ public class TestDoubleDataTypeManager implements DataTypeManager {
|
|||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDataTypes(Collection<DataType> dataTypes, DataTypeConflictHandler handler,
|
||||
TaskMonitor monitor) throws CancelledException {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<DataType> getAllDataTypes() {
|
||||
throw new UnsupportedOperationException();
|
||||
|
|
|
@ -17,9 +17,9 @@ package ghidra.program.model.data;
|
|||
|
||||
import java.util.*;
|
||||
|
||||
import ghidra.app.plugin.core.datamgr.archive.SourceArchive;
|
||||
import ghidra.util.InvalidNameException;
|
||||
import ghidra.util.UniversalID;
|
||||
import ghidra.util.exception.CancelledException;
|
||||
import ghidra.util.task.TaskMonitor;
|
||||
|
||||
/**
|
||||
|
@ -57,6 +57,12 @@ public class TestDummyDataTypeManager implements DataTypeManager {
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDataTypes(Collection<DataType> dataTypes, DataTypeConflictHandler handler,
|
||||
TaskMonitor monitor) throws CancelledException {
|
||||
// stub
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<DataType> getAllDataTypes() {
|
||||
// stub
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue