Program specific, user-defined, cspec extensions

Documentation for spec extensions

Handle extensions with parse errors
Export button for spec extensions
Pop-up dialog for parse errors in user-defined specification extensions
GP-653 corrected some minor issues and established new ProgramDB version
make incremental initialization constructor for AddressSized private
Make AddressSized fields private
More adjustments to AddressSized
Review fixes for BasicCompilerSpec
Take restoreXml out of DataOrganization interface
Remove restoreXml from BitFieldPacking interface
More review fixes
Prevent callotherfixup extension with non-existent target
Suggested export name
More documentation for SpecExtension
Support for undo/redo with spec extensions
Documentation for ConstructTpl
Split out ProgramCompilerSpec and other changes for review
Changes after next round of reviews
This commit is contained in:
caheckman 2021-02-02 13:07:54 -05:00 committed by ghidra1
parent 27fbe7278d
commit a5d4ca3cab
108 changed files with 7997 additions and 1997 deletions

View file

@ -481,7 +481,8 @@ public abstract class DomainObjectAdapterDB extends DomainObjectAdapter
*/
protected boolean propertyChanged(String propertyName, Object oldValue, Object newValue) {
setChanged(true);
fireEvent(new DomainObjectChangeRecord(DomainObject.DO_PROPERTY_CHANGED, name, name));
fireEvent(
new DomainObjectChangeRecord(DomainObject.DO_PROPERTY_CHANGED, propertyName, newValue));
return true;
}

View file

@ -157,6 +157,8 @@ class OptionsDB extends AbstractOptions {
public synchronized void removeOption(String propertyName) {
super.removeOption(propertyName);
removePropertyFromDB(propertyName);
// NOTE: AbstractOptions does not provide removal notification
notifyOptionChanged(propertyName, null, null);
}
private void removePropertyFromDB(String propertyName) {
@ -331,7 +333,7 @@ class OptionsDB extends AbstractOptions {
@Override
protected boolean notifyOptionChanged(String optionName, Object oldValue, Object newValue) {
return domainObj.propertyChanged(name, oldValue, newValue);
return domainObj.propertyChanged(optionName, oldValue, newValue);
}
}