diff --git a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceDefinedDataAdapter.java b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceDefinedDataAdapter.java index be761171ab..5803ea66aa 100644 --- a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceDefinedDataAdapter.java +++ b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceDefinedDataAdapter.java @@ -124,12 +124,6 @@ public interface DBTraceDefinedDataAdapter extends DBTraceDataAdapter { } } - @Deprecated - @Override - default DBTraceDefinedDataAdapter getComponentAt(int offset) { - return getComponentContaining(offset); - } - @Override default DBTraceDefinedDataAdapter getComponentContaining(int offset) { // We may write to the cache @@ -216,11 +210,11 @@ public interface DBTraceDefinedDataAdapter extends DBTraceDataAdapter { @Override default DBTraceDefinedDataAdapter getPrimitiveAt(int offset) { // We may write to the cache - try (LockHold hold = LockHold.lock(getTrace().getReadWriteLock().writeLock())) { + try (LockHold _ = LockHold.lock(getTrace().getReadWriteLock().writeLock())) { if (offset < 0 || offset >= getLength()) { return null; } - DBTraceDefinedDataAdapter component = getComponentAt(offset); + DBTraceDefinedDataAdapter component = getComponentContaining(offset); if (component == null || component == this) { return this; } diff --git a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/UndefinedDBTraceData.java b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/UndefinedDBTraceData.java index ea436391a7..11c2d38ae7 100644 --- a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/UndefinedDBTraceData.java +++ b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/UndefinedDBTraceData.java @@ -244,11 +244,6 @@ public class UndefinedDBTraceData implements DBTraceDataAdapter, TraceSpaceMixin return 0; } - @Override - public TraceData getComponentAt(int offset) { - return null; - } - @Override public TraceData getComponentContaining(int offset) { return null; diff --git a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/listing/TraceData.java b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/listing/TraceData.java index f3317f6474..443a43382b 100644 --- a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/listing/TraceData.java +++ b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/listing/TraceData.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -26,9 +26,6 @@ public interface TraceData extends TraceCodeUnit, Data { @Override TraceData getComponent(int index); - @Override - TraceData getComponentAt(int offset); - @Override TraceData getComponentContaining(int offset); diff --git a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/util/TraceRegisterUtils.java b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/util/TraceRegisterUtils.java index 414cafc6c9..78d8bc8ff2 100644 --- a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/util/TraceRegisterUtils.java +++ b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/util/TraceRegisterUtils.java @@ -200,7 +200,7 @@ public enum TraceRegisterUtils { } // we know data contains register, and data cannot exceed Integer.MAX_VALUE in length int offset = (int) range.getMinAddress().subtract(data.getMinAddress()); - TraceData component = data.getComponentAt(offset); + TraceData component = data.getComponentContaining(offset); if (component == null) { // TODO: I'm not sure this can happen return null; } diff --git a/Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/listing/DBTraceCodeUnitTest.java b/Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/listing/DBTraceCodeUnitTest.java index 5c17fe7dda..7c6862861a 100644 --- a/Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/listing/DBTraceCodeUnitTest.java +++ b/Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/listing/DBTraceCodeUnitTest.java @@ -1687,41 +1687,41 @@ public class DBTraceCodeUnitTest extends AbstractGhidraHeadlessIntegrationTest { assertEquals("tac", d400c.getComponent(2).getValue()); assertEquals("toe", d400c.getComponent(3).getValue()); - assertNull(u3fff.getComponentAt(0)); - assertNull(d4000.getComponentAt(0)); + assertNull(u3fff.getComponentContaining(0)); + assertNull(d4000.getComponentContaining(0)); - assertNull(d4004.getComponentAt(-1)); - assertEquals(d4004.getComponent(0), d4004.getComponentAt(0)); - assertEquals(d4004.getComponent(0), d4004.getComponentAt(1)); - assertEquals(d4004.getComponent(1), d4004.getComponentAt(2)); - assertEquals(d4004.getComponent(1), d4004.getComponentAt(3)); - assertEquals(d4004.getComponent(2), d4004.getComponentAt(4)); - assertNull(d4004.getComponentAt(5)); + assertNull(d4004.getComponentContaining(-1)); + assertEquals(d4004.getComponent(0), d4004.getComponentContaining(0)); + assertEquals(d4004.getComponent(0), d4004.getComponentContaining(1)); + assertEquals(d4004.getComponent(1), d4004.getComponentContaining(2)); + assertEquals(d4004.getComponent(1), d4004.getComponentContaining(3)); + assertEquals(d4004.getComponent(2), d4004.getComponentContaining(4)); + assertNull(d4004.getComponentContaining(5)); - assertEquals(d400c.getComponent(0), d400c.getComponentAt(0)); - assertEquals(d400c.getComponent(0), d400c.getComponentAt(1)); - assertEquals(d400c.getComponent(1), d400c.getComponentAt(2)); - assertEquals(d400c.getComponent(1), d400c.getComponentAt(3)); - assertEquals(d400c.getComponent(1), d400c.getComponentAt(4)); - assertEquals(d400c.getComponent(1), d400c.getComponentAt(5)); - assertEquals(d400c.getComponent(2), d400c.getComponentAt(6)); - assertEquals(d400c.getComponent(2), d400c.getComponentAt(7)); - assertEquals(d400c.getComponent(2), d400c.getComponentAt(8)); - assertEquals(d400c.getComponent(2), d400c.getComponentAt(9)); - assertEquals(d400c.getComponent(3), d400c.getComponentAt(10)); - assertEquals(d400c.getComponent(3), d400c.getComponentAt(11)); - assertEquals(d400c.getComponent(3), d400c.getComponentAt(12)); - assertEquals(d400c.getComponent(3), d400c.getComponentAt(13)); + assertEquals(d400c.getComponent(0), d400c.getComponentContaining(0)); + assertEquals(d400c.getComponent(0), d400c.getComponentContaining(1)); + assertEquals(d400c.getComponent(1), d400c.getComponentContaining(2)); + assertEquals(d400c.getComponent(1), d400c.getComponentContaining(3)); + assertEquals(d400c.getComponent(1), d400c.getComponentContaining(4)); + assertEquals(d400c.getComponent(1), d400c.getComponentContaining(5)); + assertEquals(d400c.getComponent(2), d400c.getComponentContaining(6)); + assertEquals(d400c.getComponent(2), d400c.getComponentContaining(7)); + assertEquals(d400c.getComponent(2), d400c.getComponentContaining(8)); + assertEquals(d400c.getComponent(2), d400c.getComponentContaining(9)); + assertEquals(d400c.getComponent(3), d400c.getComponentContaining(10)); + assertEquals(d400c.getComponent(3), d400c.getComponentContaining(11)); + assertEquals(d400c.getComponent(3), d400c.getComponentContaining(12)); + assertEquals(d400c.getComponent(3), d400c.getComponentContaining(13)); - assertNull(d401c.getComponentAt(0)); - assertNull(d401c.getComponentAt(1)); - assertNull(d401c.getComponentAt(2)); - assertNull(d401c.getComponentAt(3)); + assertNull(d401c.getComponentContaining(0)); + assertNull(d401c.getComponentContaining(1)); + assertNull(d401c.getComponentContaining(2)); + assertNull(d401c.getComponentContaining(3)); - assertEquals(d4020.getComponent(0), d4020.getComponentAt(0)); - assertEquals(d4020.getComponent(1), d4020.getComponentAt(1)); - assertEquals(d4020.getComponent(2), d4020.getComponentAt(2)); - assertEquals(d4020.getComponent(3), d4020.getComponentAt(3)); + assertEquals(d4020.getComponent(0), d4020.getComponentContaining(0)); + assertEquals(d4020.getComponent(1), d4020.getComponentContaining(1)); + assertEquals(d4020.getComponent(2), d4020.getComponentContaining(2)); + assertEquals(d4020.getComponent(3), d4020.getComponentContaining(3)); assertNull(u3fff.getComponentsContaining(-1)); assertTrue(u3fff.getComponentsContaining(0).isEmpty()); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/ProgramMergeManagerPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/ProgramMergeManagerPlugin.java index 68f8bd5709..e28ef46718 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/ProgramMergeManagerPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/ProgramMergeManagerPlugin.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -252,11 +252,6 @@ public class ProgramMergeManagerPlugin extends MergeManagerPlugin implements Pro // not supported } - @Override - public void releaseProgram(Program program, Object persistentOwner) { - // not supported - } - @Override public void saveProgram() { // not supported @@ -282,11 +277,6 @@ public class ProgramMergeManagerPlugin extends MergeManagerPlugin implements Pro // not supported } - @Override - public boolean setPersistentOwner(Program program, Object owner) { - return false; - } - public void setSearchPriority(Program p, int priority) { // not supported } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/tool/ListingMergePanel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/tool/ListingMergePanel.java index a04e238cfa..a296cac82d 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/tool/ListingMergePanel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/tool/ListingMergePanel.java @@ -486,16 +486,6 @@ public class ListingMergePanel extends JPanel return false; } - @Override - public GoToOverrideService getOverrideService() { - return null; - } - - @Override - public void setOverrideService(GoToOverrideService override) { - // no-op - } - @Override public Navigatable getDefaultNavigatable() { return null; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/ProgramPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/ProgramPlugin.java index 457d827d3a..94860bdc98 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/ProgramPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/ProgramPlugin.java @@ -63,35 +63,6 @@ public abstract class ProgramPlugin extends Plugin { internalRegisterEventConsumed(ProgramClosedPluginEvent.class); } - /** - * Calling this constructor is works the same as calling {@link ProgramPlugin}. - * - * @deprecated call {@link #ProgramPlugin(PluginTool)} instead - * @param plugintool the tool - * @param consumeLocationChange not used - * @param consumeSelectionChange not used - */ - @Deprecated(forRemoval = true, since = "10.2") - public ProgramPlugin(PluginTool plugintool, boolean consumeLocationChange, - boolean consumeSelectionChange) { - this(plugintool); - } - - /** - * Calling this constructor is works the same as calling {@link ProgramPlugin}. - * - * @deprecated call {@link #ProgramPlugin(PluginTool)} instead - * @param plugintool the tool - * @param consumeLocationChange not used - * @param consumeSelectionChange not used - * @param consumeHighlightChange not used - */ - @Deprecated(forRemoval = true, since = "10.2") - public ProgramPlugin(PluginTool plugintool, boolean consumeLocationChange, - boolean consumeSelectionChange, boolean consumeHighlightChange) { - this(plugintool); - } - /** * Process the plugin event. *

diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/DWARFAnalyzer.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/DWARFAnalyzer.java index b555036ceb..a5317cd208 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/DWARFAnalyzer.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/DWARFAnalyzer.java @@ -45,8 +45,7 @@ public class DWARFAnalyzer extends AbstractAnalyzer { */ public static boolean isAlreadyImported(Program program) { Options options = program.getOptions(Program.PROGRAM_INFO); - return options.getBoolean(DWARF_LOADED_OPTION_NAME, false) || - oldCheckIfDWARFImported(program); + return options.getBoolean(DWARF_LOADED_OPTION_NAME, false); } private DWARFImportOptions importOptions = new DWARFImportOptions(); @@ -132,15 +131,6 @@ public class DWARFAnalyzer extends AbstractAnalyzer { return false; } - - @Deprecated(forRemoval = true, since = "10.0") - private static boolean oldCheckIfDWARFImported(Program prog) { - // this was the old way of checking if the DWARF analyzer had already been run. Keep - // it around for a little bit so existing programs that have already imported DWARF data - // don't get re-run. Remove after a release or two. - return DWARFFunctionImporter.hasDWARFProgModule(prog, DWARFProgram.DWARF_ROOT_NAME); - } - @Override public boolean canAnalyze(Program program) { return DWARFProgram.isDWARF(program); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java index cb8d23d8a9..a618ae58af 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java @@ -37,7 +37,6 @@ import ghidra.app.util.HelpTopics; import ghidra.app.util.NamespaceUtils; import ghidra.app.util.task.OpenProgramRequest; import ghidra.app.util.task.OpenProgramTask; -import ghidra.framework.client.ClientUtil; import ghidra.framework.main.OpenVersionedFileDialog; import ghidra.framework.model.*; import ghidra.framework.options.*; @@ -1081,20 +1080,6 @@ public class ProgramManagerPlugin extends Plugin implements ProgramManager, Opti return programMgr.isVisible(program); } - @Override - public void releaseProgram(Program program, Object owner) { - if (programMgr.contains(program)) { - programMgr.releaseProgram(program, owner); - Msg.info(ClientUtil.class, - "Released program from " + tool.getName() + " tool: " + program.getDomainFile()); - } - } - - @Override - public boolean setPersistentOwner(Program program, Object owner) { - return programMgr.setPersistentOwner(program, owner); - } - public boolean isManaged(Program program) { return programMgr.contains(program); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/strings/TrigramStringValidator.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/strings/TrigramStringValidator.java index 9cb94a714e..7753e93599 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/strings/TrigramStringValidator.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/strings/TrigramStringValidator.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -29,10 +29,10 @@ import ghidra.app.services.*; * a ".sng" model file to score strings. */ public class TrigramStringValidator implements StringValidatorService { - /** - * Remove this flag when the trigram model thresholds have been recalculated - */ - @Deprecated(forRemoval = true, since = "10.3") + + // !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! + // TODO: Remove this flag when the trigram model thresholds have been recalculated + // !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! private static final boolean PRESERVE_BUG_SKIP_TRIGRAM = true; // "Bad" log to be used as default score when we know the string is bad diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/services/GoToService.java b/Ghidra/Features/Base/src/main/java/ghidra/app/services/GoToService.java index b4ea7cd888..c896d46252 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/services/GoToService.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/services/GoToService.java @@ -223,10 +223,4 @@ public interface GoToService { * @return the navigatable */ public Navigatable getDefaultNavigatable(); - - @Deprecated(forRemoval = true, since = "10.2") - public GoToOverrideService getOverrideService(); - - @Deprecated(forRemoval = true, since = "10.2") - public void setOverrideService(GoToOverrideService override); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/services/ProgramManager.java b/Ghidra/Features/Base/src/main/java/ghidra/app/services/ProgramManager.java index fc089ff6c7..f4fc13ca30 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/services/ProgramManager.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/services/ProgramManager.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -189,36 +189,6 @@ public interface ProgramManager { */ public void saveProgramAs(Program program); - /** - * Establish a persistent owner on an open program. This will cause the program manager to imply - * make a program hidden if it is closed. - * - * @param program the program - * @param owner the owner - * @return true if program is open and another object is not already the owner, or the specified - * owner is already the owner. - * @see #releaseProgram(Program, Object) - * @deprecated this method is no longer used by the system - */ - @Deprecated(forRemoval = true, since = "10.2") - public boolean setPersistentOwner(Program program, Object owner); - - /** - * Release the persistent ownership of a program. - *

- * The program will automatically be closed if it is hidden or was marked as temporary. If any - * of these closures corresponds to a program with changes the user will be given an opportunity - * to save or keep the program open. - *

- * If persistentOwner is not the correct owner, the method will have no affect. - * - * @param program the program - * @param persistentOwner the owner defined by {@link #setPersistentOwner(Program, Object)} - * @deprecated this method is no longer used by the system - */ - @Deprecated(forRemoval = true, since = "10.2") - public void releaseProgram(Program program, Object persistentOwner); - /** * Closes the given program with the option of saving any changes. The exact behavior of this * method depends on several factors. First of all, if any other tool has this program open, diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToAddressLabelDialog.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToAddressLabelDialog.java index 7610120838..6a4caf7d52 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToAddressLabelDialog.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToAddressLabelDialog.java @@ -106,13 +106,6 @@ public class GoToAddressLabelDialog extends ReusableDialogComponentProvider this.navigatable = nav; currentAddress = addr; clearStatusText(); - GoToOverrideService override = goToService.getOverrideService(); - if (override != null) { - JComponent comp = override.getOverrideComponent(); - if (comp != null) { - mainPanel.add(comp, BorderLayout.SOUTH); - } - } setDialogEnabled(true); tool.showDialog(this); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToServiceImpl.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToServiceImpl.java index f2e0d8d486..eb7ad3c0a5 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToServiceImpl.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToServiceImpl.java @@ -38,11 +38,6 @@ public class GoToServiceImpl implements GoToService { helper = new GoToHelper(plugin.getTool()); } - @Override - public GoToOverrideService getOverrideService() { - return override; - } - @Override public boolean goTo(ProgramLocation loc) { return helper.goTo(defaultNavigatable, loc, loc.getProgram()); @@ -155,11 +150,6 @@ public class GoToServiceImpl implements GoToService { return goToQuery(defaultNavigatable, fromAddr, queryData, listener, monitor); } - @Override - public void setOverrideService(GoToOverrideService override) { - this.override = override; - } - @Override public Navigatable getDefaultNavigatable() { return defaultNavigatable; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/listingpanel/ProgramBigListingModel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/listingpanel/ProgramBigListingModel.java index 3ad0d340de..074d137c5e 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/listingpanel/ProgramBigListingModel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/listingpanel/ProgramBigListingModel.java @@ -391,7 +391,7 @@ public class ProgramBigListingModel implements ListingModel, FormatModelListener int length = dt.getLength(); for (; offset < length; offset++) { // If not beyond structure's end, check for non-filler. - data = parent.getComponentAt(offset); + data = parent.getComponentContaining(offset); if (data != null) { // Found non filler address so return it. return data.getMinAddress(); } @@ -540,7 +540,6 @@ public class ProgramBigListingModel implements ListingModel, FormatModelListener private void addUnionPostOpenData(List list, Data data, Address addr) { DataType dt = data.getBaseDataType(); if (dt instanceof Union) { - Address dataAddr = data.getMinAddress(); if (openCloseMgr.isDataOpen(data)) { int openIndex = openCloseMgr.getOpenDataIndex(data); int i = openIndex; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/features/base/codecompare/listing/ListingDisplayGoToService.java b/Ghidra/Features/Base/src/main/java/ghidra/features/base/codecompare/listing/ListingDisplayGoToService.java index 1d1c7fbd0e..9058884880 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/features/base/codecompare/listing/ListingDisplayGoToService.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/features/base/codecompare/listing/ListingDisplayGoToService.java @@ -46,11 +46,6 @@ class ListingDisplayGoToService implements GoToService { this.listingPanel = listingPanel; } - @Override - public GoToOverrideService getOverrideService() { - return null; - } - @Override public boolean goTo(ProgramLocation loc) { return doGoTo(loc); @@ -121,11 +116,6 @@ class ListingDisplayGoToService implements GoToService { "Go To Address or Label Query is not allowed in a dual listing view."); } - @Override - public void setOverrideService(GoToOverrideService override) { - // ignored - } - @Override public Navigatable getDefaultNavigatable() { return new ListingDisplayNavigator(listingPanel, this); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileCache.java b/Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileCache.java index 3e9e14bde5..65dff32ca0 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileCache.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileCache.java @@ -72,21 +72,6 @@ public class FileCache { private FileCacheMaintenanceDaemon cleanDaemon; private ReferenceMap memCache = new ReferenceMap<>(); - /** - * Backwards compatible with previous cache directories to age off the files located - * therein. - * - * @param oldCacheDir the old 2-level cache directory - * @deprecated Marked as deprecated to ensure this is removed in a few versions after most - * user's old-style cache dirs have been cleaned up. - */ - @Deprecated(forRemoval = true, since = "10.1") - public static void performCacheMaintOnOldDirIfNeeded(File oldCacheDir) { - if (oldCacheDir.isDirectory()) { - performCacheMaintIfNeeded(oldCacheDir, 2 /* old nesting level */); - } - } - /** * Creates a new {@link FileCache} instance where files are stored under the specified * {@code cacheDir} diff --git a/Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileSystemService.java b/Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileSystemService.java index 054379362d..53bbe7a76a 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileSystemService.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileSystemService.java @@ -154,10 +154,6 @@ public class FileSystemService { */ public FileSystemService() { this(new File(Application.getUserCacheDirectory(), "fscache2")); - - // age off files in old cache dir. Remove this after a few versions - FileCache.performCacheMaintOnOldDirIfNeeded( - new File(Application.getUserCacheDirectory(), "fscache")); } /** diff --git a/Ghidra/Features/Base/src/main/java/ghidra/util/table/actions/MakeProgramSelectionAction.java b/Ghidra/Features/Base/src/main/java/ghidra/util/table/actions/MakeProgramSelectionAction.java index 1840107564..6ff80b0d71 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/util/table/actions/MakeProgramSelectionAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/util/table/actions/MakeProgramSelectionAction.java @@ -47,27 +47,6 @@ public class MakeProgramSelectionAction extends DockingAction { private Navigatable navigatable; private GhidraTable table; - /** - * Special constructor for clients that do not have a plugin. - *

- * Clients using this constructor must override - * {@link #makeProgramSelection(ProgramSelection, ActionContext)}. - * - *

- * Update: the preferred constructor for clients without a plugin is - * {@link #MakeProgramSelectionAction(Navigatable, String, GhidraTable)}. - * - * @param owner the action's owner - * @param table the table needed for this action - * @deprecated use either of the other constructors - */ - @Deprecated(forRemoval = true, since = "10.2") - public MakeProgramSelectionAction(String owner, GhidraTable table) { - super("Make Selection", owner, KeyBindingType.SHARED); - this.table = Objects.requireNonNull(table); - init(null); - } - /** * Special constructor for clients that do not have a plugin. *

diff --git a/Ghidra/Features/Base/src/test/java/ghidra/app/services/TestDummyGoToService.java b/Ghidra/Features/Base/src/test/java/ghidra/app/services/TestDummyGoToService.java index 3e332dce56..0eac560229 100644 --- a/Ghidra/Features/Base/src/test/java/ghidra/app/services/TestDummyGoToService.java +++ b/Ghidra/Features/Base/src/test/java/ghidra/app/services/TestDummyGoToService.java @@ -105,18 +105,6 @@ public class TestDummyGoToService implements GoToService { return false; } - @Override - public GoToOverrideService getOverrideService() { - // stub - return null; - } - - @Override - public void setOverrideService(GoToOverrideService override) { - // stub - - } - @Override public Navigatable getDefaultNavigatable() { // stub diff --git a/Ghidra/Features/Base/src/test/java/ghidra/app/services/TestDummyProgramManager.java b/Ghidra/Features/Base/src/test/java/ghidra/app/services/TestDummyProgramManager.java index 737052a866..0b1552ccd4 100644 --- a/Ghidra/Features/Base/src/test/java/ghidra/app/services/TestDummyProgramManager.java +++ b/Ghidra/Features/Base/src/test/java/ghidra/app/services/TestDummyProgramManager.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -111,17 +111,6 @@ public class TestDummyProgramManager implements ProgramManager { // stub } - @Override - public boolean setPersistentOwner(Program program, Object owner) { - // stub - return false; - } - - @Override - public void releaseProgram(Program program, Object persistentOwner) { - // stub - } - @Override public boolean closeProgram(Program program, boolean ignoreChanges) { // stub diff --git a/Ghidra/Features/Base/src/test/java/ghidra/test/JavaCompiler.java b/Ghidra/Features/Base/src/test/java/ghidra/test/JavaCompiler.java deleted file mode 100644 index 82b2f7b82b..0000000000 --- a/Ghidra/Features/Base/src/test/java/ghidra/test/JavaCompiler.java +++ /dev/null @@ -1,113 +0,0 @@ -/* ### - * IP: GHIDRA - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package ghidra.test; - -import java.io.*; - -/** - * Compile a java file; deletes the java file and the class file when the - * junit exits. - * - * - */ -@Deprecated(forRemoval = true, since = "10.2") // This is not used -public class JavaCompiler { - - private IOThread cmdOut; - private IOThread cmdErr; - - public void compile(File javaFile) { - String name = javaFile.getName(); - String className = name.substring(0, name.indexOf(".")) + ".class"; - - File parent = javaFile.getParentFile(); - String parentPath = parent.getAbsolutePath(); - int pos = parentPath.lastIndexOf("ghidra"); - String destPath = parentPath.substring(0, pos - 1); - - javaFile.deleteOnExit(); - - File classFile = new File(parent, className); - classFile.deleteOnExit(); - - String classpath = System.getProperty("java.class.path"); - String javaLoc = System.getProperty("java.home"); - if (javaLoc.endsWith("jre")) { - javaLoc = javaLoc.substring(0, javaLoc.indexOf("jre") - 1); - } - String argV[] = new String[6]; - argV[0] = javaLoc + File.separator + "bin" + File.separator + "javac"; - argV[1] = "-classpath"; - argV[2] = classpath; - argV[3] = "-d"; - argV[4] = destPath; - argV[5] = javaFile.getAbsolutePath(); - try { - Process p = Runtime.getRuntime().exec(argV); - for (String element : argV) { - System.out.print(element + " "); - } - System.out.println(); - - InputStream stderrStream = p.getErrorStream(); - InputStream stdinStream = p.getInputStream(); - - setupIO(stdinStream, stderrStream); - p.waitFor(); - - cmdOut.join(); - cmdErr.join(); - - } - catch (Exception e) { - e.printStackTrace(); - } - - } - - private void setupIO(InputStream stdin, InputStream stderr) { - cmdOut = new IOThread(stdin); // - cmdErr = new IOThread(stderr); - cmdOut.start(); - cmdErr.start(); - } - - /** - * - * Thread to read from an input stream and write it to stdout. - */ - private class IOThread extends Thread { - private BufferedReader shellOutput; - - public IOThread(InputStream input) { - shellOutput = new BufferedReader(new InputStreamReader(input)); - } - - @Override - public void run() { - String line = null; - try { - while ((line = shellOutput.readLine()) != null) { - System.out.println(line); - } - } - catch (Exception e) { - e.printStackTrace(); - } - - } - } -} diff --git a/Ghidra/Features/DataGraph/src/main/java/datagraph/data/graph/panel/model/row/DataRowObject.java b/Ghidra/Features/DataGraph/src/main/java/datagraph/data/graph/panel/model/row/DataRowObject.java index 676bffad13..a2aea4e8b0 100644 --- a/Ghidra/Features/DataGraph/src/main/java/datagraph/data/graph/panel/model/row/DataRowObject.java +++ b/Ghidra/Features/DataGraph/src/main/java/datagraph/data/graph/panel/model/row/DataRowObject.java @@ -15,16 +15,13 @@ */ package datagraph.data.graph.panel.model.row; -import docking.widgets.table.GTable; -import docking.widgets.table.RowObject; import ghidra.program.model.listing.Data; /** - * Abstract class for displaying rows in a Data GTrable model. Similar to a {@link RowObject} in - * a {@link GTable}. The big difference is that each row maintains its indent level and whether - * or not is is expanded. GTrables are like tables, but with a tree like structure. Each row that is - * a child of another row has its indent level set to one more than its parent. The expanded flag is - * used to indicate if a given row has visible child rows showing or not. + * Abstract class for displaying rows in a Data GTrable model. Each row maintains its indent level + * and whether or not is is expanded. GTables are like tables, but with a tree like structure. Each + * row that is a child of another row has its indent level set to one more than its parent. The + * expanded flag is used to indicate if a given row has visible child rows showing or not. */ public abstract class DataRowObject { @@ -78,7 +75,7 @@ public abstract class DataRowObject { } /** - * @{return the Data object associated with this row.} + * {@return the Data object associated with this row.} */ public abstract Data getData(); diff --git a/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffGoToService.java b/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffGoToService.java index df89a57f36..dc0b503c6f 100644 --- a/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffGoToService.java +++ b/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffGoToService.java @@ -49,11 +49,6 @@ public class DiffGoToService implements GoToService { helper = new GoToHelper(diffPlugin.getTool()); } - @Override - public GoToOverrideService getOverrideService() { - return goToService.getOverrideService(); - } - @Override public boolean goTo(ProgramLocation loc) { return diffGoTo(loc); @@ -161,11 +156,6 @@ public class DiffGoToService implements GoToService { return goToService.goToQuery(navigatable, fromAddr, queryData, listener, monitor); } - @Override - public void setOverrideService(GoToOverrideService override) { - // Do nothing. (May need to change this later if there is reason to override Diff.) - } - @Override public Navigatable getDefaultNavigatable() { return goToService.getDefaultNavigatable(); diff --git a/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffProgramManager.java b/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffProgramManager.java index 0a2b9ec36a..24af1abb4a 100644 --- a/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffProgramManager.java +++ b/Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffProgramManager.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -113,11 +113,6 @@ public class DiffProgramManager implements ProgramManager { // stub } - @Override - public void releaseProgram(Program program, Object persistentOwner) { - // stub - } - @Override public void saveProgram() { // stub @@ -142,9 +137,4 @@ public class DiffProgramManager implements ProgramManager { public void setCurrentProgram(Program p) { // stub } - - @Override - public boolean setPersistentOwner(Program program, Object owner) { - return false; - } } diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/dialogs/TableChooserDialog.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/dialogs/TableChooserDialog.java deleted file mode 100644 index 1faa465e60..0000000000 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/dialogs/TableChooserDialog.java +++ /dev/null @@ -1,138 +0,0 @@ -/* ### - * IP: GHIDRA - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package docking.widgets.dialogs; - -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.util.Arrays; -import java.util.List; - -import javax.swing.*; - -import docking.DialogComponentProvider; -import docking.widgets.table.*; - -/** - * @param the type - * - * - * @deprecated This class has been replaced by {@link TableSelectionDialog}. At the time of - * writing, both classes are identical. This version introduced a naming conflict with another - * API. Thus, the new version better matches the existing dialog choosing API. - */ -@Deprecated(forRemoval = true, since = "9.3") -public class TableChooserDialog extends DialogComponentProvider { - - private RowObjectTableModel model; - private GFilterTable gFilterTable; - private List selectedItems; - - /** - * Create a new Dialog for displaying and choosing table row items - * - * @param title The title for the dialog - * @param model a {@link RowObjectTableModel} that has the tRable data - * @param allowMultipleSelection if true, the dialog allows the user to select more - * than one row; otherwise, only single selection is allowed - * @deprecated see the class header - */ - @Deprecated(forRemoval = true, since = "9.3") - public TableChooserDialog(String title, RowObjectTableModel model, - boolean allowMultipleSelection) { - super(title); - this.model = model; - addWorkPanel(buildTable(allowMultipleSelection)); - addOKButton(); - addCancelButton(); - } - - /** - * Returns the list of selected items or null if the dialog was cancelled. - * @return the list of selected items or null if the dialog was cancelled. - * @deprecated see the class header - */ - @Deprecated(forRemoval = true, since = "9.3") - public List getSelectionItems() { - return selectedItems; - } - - private void initializeTable(boolean allowMultipleSelection) { - GTable table = gFilterTable.getTable(); - - table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); - - int selectionMode = allowMultipleSelection ? ListSelectionModel.MULTIPLE_INTERVAL_SELECTION - : ListSelectionModel.SINGLE_SELECTION; - table.getSelectionModel().setSelectionMode(selectionMode); - - } - - protected void processMouseClicked(MouseEvent e) { - - if (e.getClickCount() != 2) { - return; - } - - int rowAtPoint = gFilterTable.getTable().rowAtPoint(e.getPoint()); - if (rowAtPoint < 0) { - return; - } - - T selectedRowObject = gFilterTable.getSelectedRowObject(); - selectedItems = Arrays.asList(selectedRowObject); - close(); - } - - @Override - protected void okCallback() { - selectedItems = gFilterTable.getSelectedRowObjects(); - close(); - gFilterTable.dispose(); - } - - @Override - protected void cancelCallback() { - selectedItems = null; - close(); - gFilterTable.dispose(); - } - - @Override - protected void dialogShown() { - gFilterTable.focusFilter(); - } - - private JComponent buildTable(boolean allowMultipleSelection) { - gFilterTable = new GFilterTable<>(model); - initializeTable(allowMultipleSelection); - gFilterTable.getTable().addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - if (!e.isShiftDown()) { - processMouseClicked(e); - } - updateOkEnabled(); - } - }); - setOkEnabled(false); - gFilterTable.getAccessibleContext().setAccessibleName("Table Chooser"); - return gFilterTable; - } - - protected void updateOkEnabled() { - setOkEnabled(gFilterTable.getSelectedRowObject() != null); - } -} diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/RowObject.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/RowObject.java deleted file mode 100644 index 698e363e93..0000000000 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/RowObject.java +++ /dev/null @@ -1,128 +0,0 @@ -/* ### - * IP: GHIDRA - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package docking.widgets.table; - -import java.util.ArrayList; -import java.util.List; - -import javax.swing.table.TableModel; - -import ghidra.util.SystemUtilities; - -/** - * An object that represents a row in a table. Most tables used in the system create models that - * use their own row objects (see {@link AbstractSortedTableModel}). This class exists to - * compensate for those models that do not do this, but instead rely on the classic Java - * {@link TableModel} method {@link TableModel#getValueAt(int, int)}. - *

- * For the best behavior, a table model implementation should extend - * {@link AbstractSortedTableModel}, as the system is written to work for those models. Use of - * this class as a workaround is a suitable default, but will not always result in the desired - * behavior. A major reason for this is that if any of the table's cell values change, the - * row objects that created for non-{@link AbstractSortedTableModel}s will not be equal to - * those created before the data change. This causes some features to break, such as selection - * restoration after user edits. - * - * @deprecated this class is no longer used and will be removed - */ -@Deprecated(forRemoval = true, since = "10.1") -public class RowObject { - - /** - * Factory method to create and initialize a row object. - * - * @param model the model required to gather data for the row object. - * @param row the row for which to create a row object - * @return the row object - */ - public static RowObject createRowObject(TableModel model, int row) { - RowObject rowObject = new RowObject(); - int columns = model.getColumnCount(); - for (int i = 0; i < columns; i++) { - rowObject.addElement(model.getValueAt(row, i)); - } - return rowObject; - } - - List values = new ArrayList<>(); - int hash = -1; - - void addElement(Object object) { - values.add(object); - hash = -1; - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } - - if (obj == null) { - return false; - } - - if (getClass() != obj.getClass()) { - return false; - } - - RowObject other = (RowObject) obj; - if (values.size() != other.values.size()) { - return false; - } - - for (int i = 0; i < values.size(); i++) { - Object object = values.get(i); - if (!SystemUtilities.isEqual(object, other.values.get(i))) { - return false; - } - } - - return true; - } - - @Override - public int hashCode() { - if (hash != -1) { - return hash; - } - computeHash(); - return hash; - } - - private void computeHash() { - int result = 17; - result = 31 * result + values.hashCode(); - hash = result; - } - - @Override - public String toString() { - return "RowObject: " + getValuesAsString(); - } - - private String getValuesAsString() { - StringBuilder buildy = new StringBuilder(); - for (Object object : values) { - if (buildy.length() > 0) { - buildy.append(", "); - } - - buildy.append(object == null ? "" : object.toString()); - } - return buildy.toString(); - } -} diff --git a/Ghidra/Framework/Generic/src/main/java/ghidra/util/Conv.java b/Ghidra/Framework/Generic/src/main/java/ghidra/util/Conv.java index bb0a8bf2ed..c93918e1b0 100644 --- a/Ghidra/Framework/Generic/src/main/java/ghidra/util/Conv.java +++ b/Ghidra/Framework/Generic/src/main/java/ghidra/util/Conv.java @@ -16,121 +16,14 @@ package ghidra.util; /** - * Helper methods for converting between - * number data types without negative - * promotion. - *

- * Consider using java built-in methods for conversion instead of methods from this - * class. + * Legacy methods for converting between number data types without negative promotion. Most methods + * have been deprecated off in favor of built-in Java methods. */ public class Conv { private Conv() { + // prevent instantiation } - - /** - * A byte mask. - * - * @deprecated {@link Byte#toUnsignedInt(byte)} will handle most use cases of this constant - */ - @Deprecated(forRemoval = true, since = "10.2") - public static final int BYTE_MASK = 0xff; - /** - * A short mask. - * @deprecated {@link Short#toUnsignedInt(short)} will handle most use cases of this constant - */ - @Deprecated(forRemoval = true, since = "10.2") - public static final int SHORT_MASK = 0xffff; - /** - * An integer mask. - * @deprecated {@link Integer#toUnsignedLong(int)} will handle most use cases of this constant - */ - @Deprecated(forRemoval = true, since = "10.2") - public static final long INT_MASK = 0x00000000ffffffffL; - - /** - * @param b the byte - * @return the short equivalent of the byte - * @deprecated Use other built-ins like {@link Byte#toUnsignedInt(byte)} - */ - @Deprecated(forRemoval = true, since = "10.2") - public static short byteToShort(byte b) { - return (short) (b & 0xff); - } - - /** - * Converts a byte to an integer. - * - * @param b the byte - * @return the integer equivalent of the byte - * @deprecated Use {@link Byte#toUnsignedInt(byte)} instead - */ - @Deprecated(forRemoval = true, since = "10.2") - public static int byteToInt(byte b) { - return Byte.toUnsignedInt(b); - } - - /** - * Converts a byte to a long. - * @param b the byte - * @return the long equivalent of the byte - * @deprecated Use {@link Byte#toUnsignedLong(byte)} instead - */ - @Deprecated(forRemoval = true, since = "10.2") - public static long byteToLong(byte b) { - return Byte.toUnsignedLong(b); - } - - /** - * Converts a short to an integer. - * @param s the short - * @return the integer equivalent of the short - * @deprecated Use {@link Short#toUnsignedInt(short)} instead - */ - @Deprecated(forRemoval = true, since = "10.2") - public static int shortToInt(short s) { - return Short.toUnsignedInt(s); - } - - /** - * Converts a short to a long. - * @param s the short - * @return the long equivalent of the short - * @deprecated Use {@link Short#toUnsignedLong(short)} instead - */ - @Deprecated(forRemoval = true, since = "10.2") - public static long shortToLong(short s) { - return Short.toUnsignedLong(s); - } - - /** - * Converts an integer to a long. - * @param i the integer - * @return the long equivalent of the long - * @deprecated Use {@link Integer#toUnsignedLong(int)} instead - */ - @Deprecated(forRemoval = true, since = "10.2") - public static long intToLong(int i) { - return Integer.toUnsignedLong(i); - } - - /** - * Old and incorrect way to convert bytes to a String by casting their - * values to chars. Do not use. Does not seem to be used in current codebase. - * - * @param array The bytes to convert - * @return The converted bytes - * @deprecated Use {@link String#String(byte[], java.nio.charset.Charset) new String(bytes, StandardCharSets.US_ASCII)} - * instead - */ - @Deprecated(forRemoval = true, since = "10.2") - public static String toString(byte [] array) { - StringBuilder builder = new StringBuilder(); - for (byte b : array) { - builder.append((char) b); - } - return builder.toString(); - } /** * Consider using {@link String#format(String, Object...) String.format("%02x", b)} instead. @@ -141,7 +34,7 @@ public class Conv { * @return the padded hex string */ public static String toHexString(byte b) { - return zeropad(Integer.toHexString(Byte.toUnsignedInt(b)), 2); + return String.format("%02x", b); } /** @@ -153,7 +46,7 @@ public class Conv { * @return the padded hex string */ public static String toHexString(short s) { - return zeropad(Integer.toHexString(Short.toUnsignedInt(s)), 4); + return String.format("%04x", s); } /** @@ -165,7 +58,7 @@ public class Conv { * @return the padded hex string */ public static String toHexString(int i) { - return zeropad(Integer.toHexString(i), 8); + return String.format("%08x", i); } /** @@ -177,7 +70,7 @@ public class Conv { * @return the padded hex string */ public static String toHexString(long l) { - return zeropad(Long.toHexString(l), 16); + return String.format("%016x", l); } /** @@ -196,5 +89,4 @@ public class Conv { } return builder.toString(); } - } diff --git a/Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/AddableLongDoubleHashtable.java b/Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/AddableLongDoubleHashtable.java deleted file mode 100644 index 12a8ed5ca4..0000000000 --- a/Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/AddableLongDoubleHashtable.java +++ /dev/null @@ -1,58 +0,0 @@ -/* ### - * IP: GHIDRA - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package ghidra.util.graph; - -import ghidra.util.datastruct.LongDoubleHashtable; -import ghidra.util.exception.NoValueException; - -/** -* -* This class modifies the behavior of LongDoubleHashtable. May add -* to the value stored with the key rather than replacing the value. -* -*/ -@Deprecated(forRemoval = true, since = "10.2") -public class AddableLongDoubleHashtable extends LongDoubleHashtable { - public AddableLongDoubleHashtable() { - super(); - } - - /** Constructor creates a table with an initial given capacity. The capacity - * will be adjusted to the next highest prime in the PRIMES table. - */ - public AddableLongDoubleHashtable(int capacity) { - super(capacity); - } - - /** Adds the value to the stored value rather than replacing it. */ - public void add(long key, double value) { - - try { - if (this.contains(key)) { - double oldValue = this.get(key); - double newValue = oldValue + value; - this.put(key, newValue); - } - else { - this.put(key, value); - } - } - catch (NoValueException e) { - //can't happen do nothing - } - } - -} diff --git a/Ghidra/Framework/Gui/src/main/java/generic/test/AbstractGuiTest.java b/Ghidra/Framework/Gui/src/main/java/generic/test/AbstractGuiTest.java index b589decc8e..fcaf46b5c7 100644 --- a/Ghidra/Framework/Gui/src/main/java/generic/test/AbstractGuiTest.java +++ b/Ghidra/Framework/Gui/src/main/java/generic/test/AbstractGuiTest.java @@ -123,14 +123,6 @@ public class AbstractGuiTest extends AbstractGenericTest { waitForSwing(); } - /** - * @deprecated Use {@link #waitForSwing()} instead - */ - @Deprecated(forRemoval = true, since = "10.3") - public static void waitForPostedSwingRunnables() { - waitForSwing(); - } - public static T findComponent(Container parent, Class desiredClass) { return findComponent(parent, desiredClass, false); } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/util/PseudoData.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/util/PseudoData.java index 7474c1a59d..a7b77b11d9 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/util/PseudoData.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/util/PseudoData.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -276,12 +276,6 @@ public class PseudoData extends PseudoCodeUnit implements Data { return (component == null ? null : component.getComponent(componentPath)); } - @Deprecated - @Override - public Data getComponentAt(int offset) { - return getComponentContaining(offset); - } - @Override public Data getComponentContaining(int offset) { if (offset < 0 || offset > length) { @@ -426,7 +420,7 @@ public class PseudoData extends PseudoCodeUnit implements Data { if (offset < 0 || offset >= length) { return null; } - Data dc = getComponentAt(offset); + Data dc = getComponentContaining(offset); if (dc == null || dc == this) { return this; } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/code/DataDB.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/code/DataDB.java index 26683e6db2..eb732e3507 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/code/DataDB.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/code/DataDB.java @@ -456,11 +456,6 @@ class DataDB extends CodeUnitDB implements Data { } } - @Override - public Data getComponentAt(int offset) { - return getComponentContaining(offset); - } - @Override public Data getComponentContaining(int offset) { try (Closeable c = lock.read()) { diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/Data.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/Data.java index c27ad40135..5c41b202c7 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/Data.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/Data.java @@ -232,20 +232,6 @@ public interface Data extends CodeUnit, Settings { */ public int getNumComponents(); - /** - * Return the first immediate child component that contains the byte at the given offset. It - * is important to note that with certain datatypes there may be more than one component - * containing the specified offset (see {@link #getComponentsContaining(int)}). - * - * @param offset the amount to add to this data items address to get the address of the - * requested data item. - * @return first data component containing offset or null - * @deprecated method name has been changed to better reflect behavior. The method - * {@link #getComponentContaining(int)} should be used instead. - */ - @Deprecated(forRemoval = true, since = "10.1") - public Data getComponentAt(int offset); - /** * Return the first immediate child component that contains the byte at the given offset. It * is important to note that with certain datatypes there may be more than one component diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/DataStub.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/DataStub.java index b009ca2c81..97f88c30a9 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/DataStub.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/DataStub.java @@ -512,11 +512,6 @@ public class DataStub implements Data { throw new UnsupportedOperationException(); } - @Override - public Data getComponentAt(int offset) { - throw new UnsupportedOperationException(); - } - @Override public Data getComponentContaining(int offset) { throw new UnsupportedOperationException();