GP-1348 removed ChangeListener interface from DataTypeImpl

This commit is contained in:
ghidra1 2021-09-30 11:13:41 -04:00
parent a79d2578a9
commit 997b5f352e
3 changed files with 26 additions and 37 deletions

View file

@ -19,16 +19,13 @@ import java.lang.ref.WeakReference;
import java.util.*; import java.util.*;
import java.util.function.Consumer; import java.util.function.Consumer;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import ghidra.docking.settings.*; import ghidra.docking.settings.*;
import ghidra.util.*; import ghidra.util.*;
/** /**
* Base implementation for dataTypes. * Base implementation for dataTypes.
*/ */
public abstract class DataTypeImpl extends AbstractDataType implements ChangeListener { public abstract class DataTypeImpl extends AbstractDataType {
private final static SettingsDefinition[] EMPTY_DEFINITIONS = new SettingsDefinition[0]; private final static SettingsDefinition[] EMPTY_DEFINITIONS = new SettingsDefinition[0];
protected Settings defaultSettings; protected Settings defaultSettings;
@ -46,7 +43,7 @@ public abstract class DataTypeImpl extends AbstractDataType implements ChangeLis
SourceArchive sourceArchive, long lastChangeTime, long lastChangeTimeInSourceArchive, SourceArchive sourceArchive, long lastChangeTime, long lastChangeTimeInSourceArchive,
DataTypeManager dataMgr) { DataTypeManager dataMgr) {
super(path, name, dataMgr); super(path, name, dataMgr);
defaultSettings = new SettingsImpl(this, null); defaultSettings = new SettingsImpl();
parentList = new ArrayList<>(); parentList = new ArrayList<>();
this.universalID = universalID == null ? UniversalIdGenerator.nextID() : universalID; this.universalID = universalID == null ? UniversalIdGenerator.nextID() : universalID;
this.sourceArchive = sourceArchive; this.sourceArchive = sourceArchive;
@ -82,11 +79,6 @@ public abstract class DataTypeImpl extends AbstractDataType implements ChangeLis
} }
} }
@Override
public void stateChanged(ChangeEvent e) {
// don't care
}
@Override @Override
public void setDefaultSettings(Settings settings) { public void setDefaultSettings(Settings settings) {
defaultSettings = settings; defaultSettings = settings;

View file

@ -222,7 +222,6 @@ public class EnumDataType extends GenericDataType implements Enum {
@Override @Override
public void setDescription(String description) { public void setDescription(String description) {
this.description = description; this.description = description;
stateChanged(null);
} }
@Override @Override
@ -381,7 +380,6 @@ public class EnumDataType extends GenericDataType implements Enum {
for (String name2 : names) { for (String name2 : names) {
add(name2, enumm.getValue(name2)); add(name2, enumm.getValue(name2));
} }
stateChanged(null);
} }
@Override @Override

View file

@ -20,7 +20,6 @@ import static org.junit.Assert.*;
import org.junit.*; import org.junit.*;
import generic.test.AbstractGTest; import generic.test.AbstractGTest;
import ghidra.docking.settings.SettingsImpl;
public class FunctionDefinitionDataTypeTest extends AbstractGTest { public class FunctionDefinitionDataTypeTest extends AbstractGTest {
private StandAloneDataTypeManager dtm; private StandAloneDataTypeManager dtm;
@ -49,7 +48,7 @@ public class FunctionDefinitionDataTypeTest extends AbstractGTest {
assertTrue(impl.getReturnType().isEquivalent(DataType.DEFAULT)); assertTrue(impl.getReturnType().isEquivalent(DataType.DEFAULT));
assertEquals(impl.getArguments().length, 0); assertEquals(impl.getArguments().length, 0);
assertNull(impl.getDataTypeManager()); assertNull(impl.getDataTypeManager());
assertEquals(impl.getMnemonic(new SettingsImpl(impl, null)), assertEquals(impl.getMnemonic(null),
"undefined testFunctionDefinition(void)"); "undefined testFunctionDefinition(void)");
assertEquals(impl.getPathName(), "/testFunctionDefinition"); assertEquals(impl.getPathName(), "/testFunctionDefinition");
@ -62,7 +61,7 @@ public class FunctionDefinitionDataTypeTest extends AbstractGTest {
String rootCat = CategoryPath.ROOT.getPath(); String rootCat = CategoryPath.ROOT.getPath();
assertEquals(fdtCat, rootCat); assertEquals(fdtCat, rootCat);
assertEquals(fdt.getDataTypeManager(), dtm); assertEquals(fdt.getDataTypeManager(), dtm);
assertEquals(fdt.getMnemonic(new SettingsImpl(impl, null)), assertEquals(fdt.getMnemonic(null),
"undefined testFunctionDefinition(void)"); "undefined testFunctionDefinition(void)");
assertEquals("/testFunctionDefinition", fdt.getPathName()); assertEquals("/testFunctionDefinition", fdt.getPathName());
} }
@ -79,7 +78,7 @@ public class FunctionDefinitionDataTypeTest extends AbstractGTest {
assertTrue(impl.getReturnType().isEquivalent(DataType.DEFAULT)); assertTrue(impl.getReturnType().isEquivalent(DataType.DEFAULT));
assertEquals(impl.getArguments().length, 0); assertEquals(impl.getArguments().length, 0);
assertEquals(CategoryPath.ROOT, impl.getCategoryPath()); assertEquals(CategoryPath.ROOT, impl.getCategoryPath());
assertEquals(impl.getMnemonic(new SettingsImpl(impl, null)), assertEquals(impl.getMnemonic(null),
"undefined testFunctionDefinition(void)"); "undefined testFunctionDefinition(void)");
assertEquals(impl.getPathName(), "/testFunctionDefinition"); assertEquals(impl.getPathName(), "/testFunctionDefinition");
@ -92,7 +91,7 @@ public class FunctionDefinitionDataTypeTest extends AbstractGTest {
String rootCat = CategoryPath.ROOT.getPath(); String rootCat = CategoryPath.ROOT.getPath();
assertEquals(fdtCat, rootCat); assertEquals(fdtCat, rootCat);
assertEquals(fdt.getDataTypeManager(), dtm); assertEquals(fdt.getDataTypeManager(), dtm);
assertEquals(fdt.getMnemonic(new SettingsImpl(impl, null)), assertEquals(fdt.getMnemonic(null),
"undefined testFunctionDefinition(void)"); "undefined testFunctionDefinition(void)");
assertEquals(fdt.getPathName(), "/testFunctionDefinition"); assertEquals(fdt.getPathName(), "/testFunctionDefinition");
} }
@ -102,27 +101,27 @@ public class FunctionDefinitionDataTypeTest extends AbstractGTest {
FunctionDefinitionDataType impl; FunctionDefinitionDataType impl;
FunctionDefinition fdt; FunctionDefinition fdt;
FunctionDefinitionDataType sig = new FunctionDefinitionDataType("testFunctionSig"); FunctionDefinitionDataType sig = new FunctionDefinitionDataType("testFunctionSig");
sig.setReturnType(DataType.VOID); sig.setReturnType(VoidDataType.dataType);
// sig // sig
impl = new FunctionDefinitionDataType(sig); impl = new FunctionDefinitionDataType(sig);
assertEquals(impl.getName(), "testFunctionSig"); assertEquals(impl.getName(), "testFunctionSig");
assertNull(impl.getComment()); assertNull(impl.getComment());
assertTrue(impl.getReturnType().isEquivalent(DataType.VOID)); assertTrue(impl.getReturnType().isEquivalent(VoidDataType.dataType));
assertEquals(impl.getArguments().length, 0); assertEquals(impl.getArguments().length, 0);
assertNull(impl.getDataTypeManager()); assertNull(impl.getDataTypeManager());
assertEquals("void testFunctionSig(void)", impl.getMnemonic(new SettingsImpl(impl, null))); assertEquals("void testFunctionSig(void)", impl.getMnemonic(null));
assertEquals(impl.getPathName(), "/testFunctionSig"); assertEquals(impl.getPathName(), "/testFunctionSig");
fdt = (FunctionDefinition) dtm.resolve(impl, null); fdt = (FunctionDefinition) dtm.resolve(impl, null);
assertEquals(fdt.getName(), "testFunctionSig"); assertEquals(fdt.getName(), "testFunctionSig");
assertNull(fdt.getComment()); assertNull(fdt.getComment());
assertTrue(fdt.getReturnType().isEquivalent(DataType.VOID)); assertTrue(fdt.getReturnType().isEquivalent(VoidDataType.dataType));
assertEquals(fdt.getArguments().length, 0); assertEquals(fdt.getArguments().length, 0);
String fdtCat = fdt.getCategoryPath().getPath(); String fdtCat = fdt.getCategoryPath().getPath();
String rootCat = CategoryPath.ROOT.getPath(); String rootCat = CategoryPath.ROOT.getPath();
assertEquals(fdtCat, rootCat); assertEquals(fdtCat, rootCat);
assertEquals(fdt.getDataTypeManager(), dtm); assertEquals(fdt.getDataTypeManager(), dtm);
assertEquals("void testFunctionSig(void)", fdt.getMnemonic(new SettingsImpl(impl, null))); assertEquals("void testFunctionSig(void)", fdt.getMnemonic(null));
assertEquals(fdt.getPathName(), "/testFunctionSig"); assertEquals(fdt.getPathName(), "/testFunctionSig");
} }
@ -131,27 +130,27 @@ public class FunctionDefinitionDataTypeTest extends AbstractGTest {
FunctionDefinitionDataType impl; FunctionDefinitionDataType impl;
FunctionDefinition fdt; FunctionDefinition fdt;
FunctionDefinitionDataType sig = new FunctionDefinitionDataType("testFunctionSig"); FunctionDefinitionDataType sig = new FunctionDefinitionDataType("testFunctionSig");
sig.setReturnType(DataType.VOID); sig.setReturnType(VoidDataType.dataType);
// dtm, sig // dtm, sig
impl = new FunctionDefinitionDataType(sig); impl = new FunctionDefinitionDataType(sig);
assertEquals(impl.getName(), "testFunctionSig"); assertEquals(impl.getName(), "testFunctionSig");
assertNull(impl.getComment()); assertNull(impl.getComment());
assertTrue(impl.getReturnType().isEquivalent(DataType.VOID)); assertTrue(impl.getReturnType().isEquivalent(VoidDataType.dataType));
assertEquals(impl.getArguments().length, 0); assertEquals(impl.getArguments().length, 0);
assertEquals("void testFunctionSig(void)", impl.getMnemonic(new SettingsImpl(impl, null))); assertEquals("void testFunctionSig(void)", impl.getMnemonic(null));
assertEquals(impl.getPathName(), "/testFunctionSig"); assertEquals(impl.getPathName(), "/testFunctionSig");
fdt = (FunctionDefinition) dtm.resolve(impl, null); fdt = (FunctionDefinition) dtm.resolve(impl, null);
assertEquals(fdt.getName(), "testFunctionSig"); assertEquals(fdt.getName(), "testFunctionSig");
assertNull(fdt.getComment()); assertNull(fdt.getComment());
assertTrue(fdt.getReturnType().isEquivalent(DataType.VOID)); assertTrue(fdt.getReturnType().isEquivalent(VoidDataType.dataType));
assertEquals(fdt.getArguments().length, 0); assertEquals(fdt.getArguments().length, 0);
String fdtCat = fdt.getCategoryPath().getPath(); String fdtCat = fdt.getCategoryPath().getPath();
String rootCat = CategoryPath.ROOT.getPath(); String rootCat = CategoryPath.ROOT.getPath();
assertEquals(fdtCat, rootCat); assertEquals(fdtCat, rootCat);
assertEquals(fdt.getDataTypeManager(), dtm); assertEquals(fdt.getDataTypeManager(), dtm);
assertEquals("void testFunctionSig(void)", fdt.getMnemonic(new SettingsImpl(impl, null))); assertEquals("void testFunctionSig(void)", fdt.getMnemonic(null));
assertEquals(fdt.getPathName(), "/testFunctionSig"); assertEquals(fdt.getPathName(), "/testFunctionSig");
} }
@ -160,27 +159,27 @@ public class FunctionDefinitionDataTypeTest extends AbstractGTest {
FunctionDefinitionDataType impl; FunctionDefinitionDataType impl;
FunctionDefinition fdt; FunctionDefinition fdt;
FunctionDefinitionDataType sig = new FunctionDefinitionDataType("testFunctionSig"); FunctionDefinitionDataType sig = new FunctionDefinitionDataType("testFunctionSig");
sig.setReturnType(DataType.VOID); sig.setReturnType(VoidDataType.dataType);
// dtm, name, sig // dtm, name, sig
impl = new FunctionDefinitionDataType(CategoryPath.ROOT, "testDtmNameSig", sig); impl = new FunctionDefinitionDataType(CategoryPath.ROOT, "testDtmNameSig", sig);
assertEquals(impl.getName(), "testDtmNameSig"); assertEquals(impl.getName(), "testDtmNameSig");
assertNull(impl.getComment()); assertNull(impl.getComment());
assertTrue(impl.getReturnType().isEquivalent(DataType.VOID)); assertTrue(impl.getReturnType().isEquivalent(VoidDataType.dataType));
assertEquals(impl.getArguments().length, 0); assertEquals(impl.getArguments().length, 0);
assertEquals("void testDtmNameSig(void)", impl.getMnemonic(new SettingsImpl(impl, null))); assertEquals("void testDtmNameSig(void)", impl.getMnemonic(null));
assertEquals(impl.getPathName(), "/testDtmNameSig"); assertEquals(impl.getPathName(), "/testDtmNameSig");
fdt = (FunctionDefinition) dtm.resolve(impl, null); fdt = (FunctionDefinition) dtm.resolve(impl, null);
assertEquals(fdt.getName(), "testDtmNameSig"); assertEquals(fdt.getName(), "testDtmNameSig");
assertNull(fdt.getComment()); assertNull(fdt.getComment());
assertTrue(fdt.getReturnType().isEquivalent(DataType.VOID)); assertTrue(fdt.getReturnType().isEquivalent(VoidDataType.dataType));
assertEquals(fdt.getArguments().length, 0); assertEquals(fdt.getArguments().length, 0);
String fdtCat = fdt.getCategoryPath().getPath(); String fdtCat = fdt.getCategoryPath().getPath();
String rootCat = CategoryPath.ROOT.getPath(); String rootCat = CategoryPath.ROOT.getPath();
assertEquals(fdtCat, rootCat); assertEquals(fdtCat, rootCat);
assertEquals(fdt.getDataTypeManager(), dtm); assertEquals(fdt.getDataTypeManager(), dtm);
assertEquals("void testDtmNameSig(void)", fdt.getMnemonic(new SettingsImpl(impl, null))); assertEquals("void testDtmNameSig(void)", fdt.getMnemonic(null));
assertEquals(fdt.getPathName(), "/testDtmNameSig"); assertEquals(fdt.getPathName(), "/testDtmNameSig");
} }
@ -189,29 +188,29 @@ public class FunctionDefinitionDataTypeTest extends AbstractGTest {
FunctionDefinitionDataType impl; FunctionDefinitionDataType impl;
FunctionDefinition fdt; FunctionDefinition fdt;
FunctionDefinitionDataType sig = new FunctionDefinitionDataType("testFunctionSig"); FunctionDefinitionDataType sig = new FunctionDefinitionDataType("testFunctionSig");
sig.setReturnType(DataType.VOID); sig.setReturnType(VoidDataType.dataType);
FunctionDefinitionDataType functionDefDt = new FunctionDefinitionDataType(sig); FunctionDefinitionDataType functionDefDt = new FunctionDefinitionDataType(sig);
// functionDataTypeImpl // functionDataTypeImpl
impl = new FunctionDefinitionDataType(functionDefDt); impl = new FunctionDefinitionDataType(functionDefDt);
assertEquals(impl.getName(), "testFunctionSig"); assertEquals(impl.getName(), "testFunctionSig");
assertNull(impl.getComment()); assertNull(impl.getComment());
assertTrue(impl.getReturnType().isEquivalent(DataType.VOID)); assertTrue(impl.getReturnType().isEquivalent(VoidDataType.dataType));
assertEquals(impl.getArguments().length, 0); assertEquals(impl.getArguments().length, 0);
assertNull(null, impl.getDataTypeManager()); assertNull(null, impl.getDataTypeManager());
assertEquals("void testFunctionSig(void)", impl.getMnemonic(new SettingsImpl(impl, null))); assertEquals("void testFunctionSig(void)", impl.getMnemonic(null));
assertEquals(impl.getPathName(), "/testFunctionSig"); assertEquals(impl.getPathName(), "/testFunctionSig");
fdt = (FunctionDefinition) dtm.resolve(impl, null); fdt = (FunctionDefinition) dtm.resolve(impl, null);
assertEquals(fdt.getName(), "testFunctionSig"); assertEquals(fdt.getName(), "testFunctionSig");
assertNull(fdt.getComment()); assertNull(fdt.getComment());
assertTrue(fdt.getReturnType().isEquivalent(DataType.VOID)); assertTrue(fdt.getReturnType().isEquivalent(VoidDataType.dataType));
assertEquals(fdt.getArguments().length, 0); assertEquals(fdt.getArguments().length, 0);
String fdtCat = fdt.getCategoryPath().getPath(); String fdtCat = fdt.getCategoryPath().getPath();
String rootCat = CategoryPath.ROOT.getPath(); String rootCat = CategoryPath.ROOT.getPath();
assertEquals(fdtCat, rootCat); assertEquals(fdtCat, rootCat);
assertEquals(fdt.getDataTypeManager(), dtm); assertEquals(fdt.getDataTypeManager(), dtm);
assertEquals("void testFunctionSig(void)", fdt.getMnemonic(new SettingsImpl(impl, null))); assertEquals("void testFunctionSig(void)", fdt.getMnemonic(null));
assertEquals(fdt.getPathName(), "/testFunctionSig"); assertEquals(fdt.getPathName(), "/testFunctionSig");
} }