From c2c9ac21c0d905b2448fc0c6a111cabbca1ed125 Mon Sep 17 00:00:00 2001 From: Ryan Kurtz Date: Tue, 2 Jul 2019 10:25:34 -0400 Subject: [PATCH] GT-2966: SymbolType is missing a LABEL static field (closes #712). --- .../MakeFuncsAtLabelsScript.java | 2 +- .../function/ApplyFunctionDataTypesCmd.java | 2 +- .../function/ApplyFunctionSignatureCmd.java | 2 +- .../function/CreateExternalFunctionCmd.java | 2 +- .../cmd/function/CreateThunkFunctionCmd.java | 2 +- .../merge/listing/ExternalFunctionMerger.java | 8 +++--- .../app/merge/listing/SymbolMerger.java | 16 +++++------ .../analysis/NoReturnFunctionAnalyzer.java | 2 +- .../app/plugin/core/clear/ClearCmd.java | 2 +- .../hover/FunctionNameListingHover.java | 2 +- .../core/disassembler/EntryPointAnalyzer.java | 2 +- .../CreateExternalFunctionAction.java | 4 +-- .../function/ThunkReferenceAddressDialog.java | 4 +-- .../core/label/EditExternalLabelAction.java | 2 +- .../app/plugin/core/label/LabelMgrPlugin.java | 2 +- .../core/progmgr/ProgramManagerPlugin.java | 2 +- .../core/stackeditor/StackEditorProvider.java | 4 +-- .../core/symboltree/SymbolCategory.java | 5 ++-- .../core/symboltree/SymbolTreeProvider.java | 2 +- .../actions/EditExternalLocationAction.java | 2 +- .../actions/GoToExternalLocationAction.java | 2 +- .../nodes/FunctionCategoryNode.java | 2 +- .../symboltree/nodes/FunctionSymbolNode.java | 2 +- .../core/symboltree/nodes/SymbolNode.java | 2 +- .../symboltree/nodes/SymbolTreeRootNode.java | 2 +- .../plugin/core/symtable/NewSymbolFilter.java | 28 +++++++++---------- .../core/symtable/SymbolTableModel.java | 2 +- .../plugin/prototype/match/MatchSymbol.java | 6 ++-- .../app/util/demangler/DemangledObject.java | 2 +- .../util/viewer/field/LabelFieldFactory.java | 2 +- .../app/util/xml/SymbolTableXmlMgr.java | 2 +- .../program/util/ProgramDiffDetails.java | 2 +- .../java/ghidra/program/util/SymbolMerge.java | 4 +-- .../merge/listing/ExternalMergerAddTest.java | 16 +++++------ .../app/merge/listing/ExternalMergerTest.java | 8 +++--- .../symboltree/SymbolTreePlugin1Test.java | 4 +-- .../function/ExternalFunctionDBTest.java | 6 ++-- .../database/symbol/PinnedSymbolTest.java | 6 ++-- .../database/symbol/SymbolManagerTest.java | 26 ++++++++--------- .../program/util/ProgramMerge2Test.java | 10 +++---- .../ghidra/app/cmd/label/AddLabelCmdTest.java | 4 +-- .../markuptype/FunctionNameMarkupType.java | 2 +- .../FunctionNameMarkupItemTest.java | 6 ++-- .../database/external/ExternalManagerDB.java | 4 +-- .../program/database/function/FunctionDB.java | 2 +- .../database/function/FunctionManagerDB.java | 2 +- .../references/ReferenceDBManager.java | 4 +-- .../program/database/symbol/CodeSymbol.java | 4 +-- .../database/symbol/FunctionSymbol.java | 2 +- .../program/database/symbol/SymbolDB.java | 4 +-- .../symbol/SymbolDatabaseAdapterV0.java | 3 +- .../database/symbol/SymbolManager.java | 28 +++++++++---------- .../program/model/pcode/DataTypeSymbol.java | 4 +-- .../program/model/pcode/HighFunction.java | 2 +- .../program/model/symbol/SymbolType.java | 10 +++++-- .../program/model/symbol/SymbolUtilities.java | 2 +- .../program/util/LabelFieldLocation.java | 2 +- .../ghidra/program/util/ProgramUtilities.java | 2 +- .../program/util/SimpleDiffUtility.java | 4 +-- 59 files changed, 149 insertions(+), 145 deletions(-) diff --git a/Ghidra/Features/Base/ghidra_scripts/MakeFuncsAtLabelsScript.java b/Ghidra/Features/Base/ghidra_scripts/MakeFuncsAtLabelsScript.java index c17d9852cb..c26621fdb3 100644 --- a/Ghidra/Features/Base/ghidra_scripts/MakeFuncsAtLabelsScript.java +++ b/Ghidra/Features/Base/ghidra_scripts/MakeFuncsAtLabelsScript.java @@ -40,7 +40,7 @@ public class MakeFuncsAtLabelsScript extends GhidraScript { Listing listing = prog.getListing(); for (Symbol symbol : textLabels) { if (symbol.getSource() == SourceType.IMPORTED && - (symbol.getSymbolType() == SymbolType.CODE)) { + (symbol.getSymbolType() == SymbolType.LABEL)) { if (!this.isRunningHeadless()) { printf("%s %s", symbol.getAddress().toString(), symbol.toString()); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionDataTypesCmd.java b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionDataTypesCmd.java index 774e31b174..ab327ae67d 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionDataTypesCmd.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionDataTypesCmd.java @@ -90,7 +90,7 @@ public class ApplyFunctionDataTypesCmd extends BackgroundCommand { } else { getSymbols(symbolMap, symbolTable.getSymbols(addresses, SymbolType.FUNCTION, true)); - getSymbols(symbolMap, symbolTable.getSymbols(addresses, SymbolType.CODE, true)); + getSymbols(symbolMap, symbolTable.getSymbols(addresses, SymbolType.LABEL, true)); } return symbolMap; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionSignatureCmd.java b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionSignatureCmd.java index aff089d569..59eb326a91 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionSignatureCmd.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionSignatureCmd.java @@ -372,7 +372,7 @@ public class ApplyFunctionSignatureCmd extends BackgroundCommand { Namespace namespace) { Symbol otherSym = symbolTable.getSymbol(name, address, namespace); if (otherSym != null) { - if (otherSym.getSymbolType() == SymbolType.CODE) { + if (otherSym.getSymbolType() == SymbolType.LABEL) { otherSym.delete(); // replace label if function name matches } } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateExternalFunctionCmd.java b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateExternalFunctionCmd.java index bba457b530..b2fab577e1 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateExternalFunctionCmd.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateExternalFunctionCmd.java @@ -100,7 +100,7 @@ public class CreateExternalFunctionCmd implements Command { return createExternalFunction(program); } - if (!extSymbol.isExternal() || extSymbol.getSymbolType() != SymbolType.CODE) { + if (!extSymbol.isExternal() || extSymbol.getSymbolType() != SymbolType.LABEL) { // status = "Invalid symbol specified"; return false; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateThunkFunctionCmd.java b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateThunkFunctionCmd.java index ed92fbfb7d..a9b99bc010 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateThunkFunctionCmd.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/CreateThunkFunctionCmd.java @@ -640,7 +640,7 @@ public class CreateThunkFunctionCmd extends BackgroundCommand { return null; } Symbol s = symbols[0]; - if (s.isDynamic() || s.getSymbolType() != SymbolType.CODE || + if (s.isDynamic() || s.getSymbolType() != SymbolType.LABEL || !s.getParentNamespace().isGlobal()) { return null; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ExternalFunctionMerger.java b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ExternalFunctionMerger.java index bdead20727..bdf8a1d69c 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ExternalFunctionMerger.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ExternalFunctionMerger.java @@ -255,7 +255,7 @@ public class ExternalFunctionMerger extends AbstractFunctionMerger implements Li } SymbolType symbolType = symbol.getSymbolType(); if (symbol.isExternal() && - (symbolType == SymbolType.FUNCTION || symbolType == SymbolType.CODE)) { + (symbolType == SymbolType.FUNCTION || symbolType == SymbolType.LABEL)) { externalAddSet.add(symbolID); } @@ -274,14 +274,14 @@ public class ExternalFunctionMerger extends AbstractFunctionMerger implements Li } SymbolType symbolType = originalSymbol.getSymbolType(); if (originalSymbol.isExternal() && - (symbolType == SymbolType.FUNCTION || symbolType == SymbolType.CODE)) { + (symbolType == SymbolType.FUNCTION || symbolType == SymbolType.LABEL)) { externalRemoveSet.add(symbolID); } continue; } SymbolType symbolType = symbol.getSymbolType(); if (symbol.isExternal() && - (symbolType == SymbolType.FUNCTION || symbolType == SymbolType.CODE)) { + (symbolType == SymbolType.FUNCTION || symbolType == SymbolType.LABEL)) { externalModifySet.add(symbolID); } } @@ -1565,7 +1565,7 @@ public class ExternalFunctionMerger extends AbstractFunctionMerger implements Li if (latestSymbol != null) { // We have a possible matching external from LATEST. SymbolType symbolType = latestSymbol.getSymbolType(); - if (symbolType == SymbolType.CODE || symbolType == SymbolType.FUNCTION) { + if (symbolType == SymbolType.LABEL || symbolType == SymbolType.FUNCTION) { latestExternalLocation = externalManagers[LATEST].getExternalLocation(latestSymbol); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java index 0f9f52d807..faf267d3b1 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java @@ -443,7 +443,7 @@ class SymbolMerger extends AbstractListingMerger { Symbol sym = symTab.getSymbol(id); if (sym != null && sym.isPrimary()) { SymbolType symType = sym.getSymbolType(); - if (((symType == SymbolType.CODE) || (symType == SymbolType.FUNCTION)) && + if (((symType == SymbolType.LABEL) || (symType == SymbolType.FUNCTION)) && !sym.isExternal()) { primaryAdds.add(id); Address addr = sym.getAddress(); @@ -796,7 +796,7 @@ class SymbolMerger extends AbstractListingMerger { SymbolType originalType = originalSym.getSymbolType(); // CODE, CLASS, EXTERNAL, FUNCTION, GLOBAL, GLOBAL_VAR, LIBRARY, // LOCAL_VAR, NAMESPACE, PARAMETER - if ((originalType == SymbolType.CODE && !originalSym.isExternal()) || + if ((originalType == SymbolType.LABEL && !originalSym.isExternal()) || (originalType == SymbolType.CLASS) || (originalType == SymbolType.NAMESPACE)) { processSingleRemove(id, originalSym); } @@ -849,12 +849,12 @@ class SymbolMerger extends AbstractListingMerger { } continue; } - else if ((myType != SymbolType.CODE) && (myType != SymbolType.CLASS) && + else if ((myType != SymbolType.LABEL) && (myType != SymbolType.CLASS) && (myType != SymbolType.NAMESPACE)) { continue; } // Skip external labels since they should have already been handled by ExternalFunctionMerger. - if (myType == SymbolType.CODE && mySym.isExternal()) { + if (myType == SymbolType.LABEL && mySym.isExternal()) { continue; } @@ -1100,7 +1100,7 @@ class SymbolMerger extends AbstractListingMerger { // Try to add processAddedFunctionSymbol(mySym); } - else if ((myType != SymbolType.CODE) && (myType != SymbolType.CLASS) && + else if ((myType != SymbolType.LABEL) && (myType != SymbolType.CLASS) && (myType != SymbolType.NAMESPACE)) { continue; } @@ -1108,7 +1108,7 @@ class SymbolMerger extends AbstractListingMerger { try { // Try to add SymbolType mySymbolType = mySym.getSymbolType(); - if (mySym.isExternal() && mySymbolType == SymbolType.CODE) { + if (mySym.isExternal() && mySymbolType == SymbolType.LABEL) { continue; // External should have already been handled in ExternalMerger. } addSymbol(mySym); @@ -2436,7 +2436,7 @@ class SymbolMerger extends AbstractListingMerger { throws DuplicateNameException, InvalidInputException { // String comment = srcSymbol.getSymbolData3(); Symbol symbol = null; - if (type == SymbolType.CODE) { + if (type == SymbolType.LABEL) { symbol = resultSymTab.createLabel(resultAddr, name, resultParentNs, source); } else if (type == SymbolType.CLASS) { @@ -2491,7 +2491,7 @@ class SymbolMerger extends AbstractListingMerger { SymbolType symType = originalSymbol.getSymbolType(); String symbolName = originalSymbol.getName(); SourceType source = originalSymbol.getSource(); - if (symType == SymbolType.CODE) { + if (symType == SymbolType.LABEL) { if (originalSymbol.isExternal()) { ExternalManager resultExternalManager = resultPgm.getExternalManager(); ExternalLocation resultExtLocation = diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/NoReturnFunctionAnalyzer.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/NoReturnFunctionAnalyzer.java index af077d8b1f..785ac8ec3e 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/NoReturnFunctionAnalyzer.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/NoReturnFunctionAnalyzer.java @@ -110,7 +110,7 @@ public class NoReturnFunctionAnalyzer extends AbstractAnalyzer { } Address address = symbol.getAddress(); - if (symbol.getSymbolType() == SymbolType.CODE) { + if (symbol.getSymbolType() == SymbolType.LABEL) { if (!SymbolType.FUNCTION.isValidParent(program, symbol.getParentNamespace(), address, false)) { continue; // skip if parent does not permit function creation diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/clear/ClearCmd.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/clear/ClearCmd.java index f37d116456..6c92e7f514 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/clear/ClearCmd.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/clear/ClearCmd.java @@ -169,7 +169,7 @@ public class ClearCmd extends BackgroundCommand { if (s.getAddress().compareTo(range.getMaxAddress()) > 0) { break; // done with range } - if (s.getSymbolType() != SymbolType.CODE) { + if (s.getSymbolType() != SymbolType.LABEL) { continue; } if (s.isPinned()) { diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/codebrowser/hover/FunctionNameListingHover.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/codebrowser/hover/FunctionNameListingHover.java index 0dd71fc199..536ab84a2e 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/codebrowser/hover/FunctionNameListingHover.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/codebrowser/hover/FunctionNameListingHover.java @@ -93,7 +93,7 @@ public class FunctionNameListingHover extends AbstractConfigurableHover Namespace parentScope = symbol.getParentNamespace(); SymbolType symbolType = symbol.getSymbolType(); - if (symbolType != SymbolType.CODE) { + if (symbolType != SymbolType.LABEL) { return false; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/EntryPointAnalyzer.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/EntryPointAnalyzer.java index bfe431094e..c680cb4769 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/EntryPointAnalyzer.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/EntryPointAnalyzer.java @@ -386,7 +386,7 @@ public class EntryPointAnalyzer extends AbstractAnalyzer { private void addCodeSymbolsToSet(Program program, AddressSetView addressSet, TaskMonitor monitor, Set
set) throws CancelledException { SymbolTable symbolTable = program.getSymbolTable(); - SymbolIterator symbolIter = symbolTable.getSymbols(addressSet, SymbolType.CODE, true); + SymbolIterator symbolIter = symbolTable.getSymbols(addressSet, SymbolType.LABEL, true); while (symbolIter.hasNext()) { monitor.checkCanceled(); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/CreateExternalFunctionAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/CreateExternalFunctionAction.java index 145eb12281..2b5e66e925 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/CreateExternalFunctionAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/CreateExternalFunctionAction.java @@ -63,7 +63,7 @@ public class CreateExternalFunctionAction extends ProgramContextAction { refMgr.getPrimaryReferenceFrom(opLoc.getAddress(), opLoc.getOperandIndex()); if (ref != null && ref.isExternalReference()) { Symbol s = program.getSymbolTable().getPrimarySymbol(ref.getToAddress()); - if (s.getSymbolType() == SymbolType.CODE) { + if (s.getSymbolType() == SymbolType.LABEL) { return s; } } @@ -84,7 +84,7 @@ public class CreateExternalFunctionAction extends ProgramContextAction { return false; } for (Symbol s : symbolContext.getSymbols()) { - if (!s.isExternal() || s.getSymbolType() != SymbolType.CODE) { + if (!s.isExternal() || s.getSymbolType() != SymbolType.LABEL) { return false; } } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/ThunkReferenceAddressDialog.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/ThunkReferenceAddressDialog.java index deed17a774..f636f73dce 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/ThunkReferenceAddressDialog.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/ThunkReferenceAddressDialog.java @@ -279,7 +279,7 @@ public class ThunkReferenceAddressDialog extends DialogComponentProvider { while (symbolIterator.hasNext()) { Symbol s = symbolIterator.next(); SymbolType type = s.getSymbolType(); - if (type == SymbolType.FUNCTION || type == SymbolType.CODE) { + if (type == SymbolType.FUNCTION || type == SymbolType.LABEL) { Symbol thunkedSymbol = getThunkedSymbol(s); if (thunkedSymbol != null) { // ignore equivalent thunks @@ -325,7 +325,7 @@ public class ThunkReferenceAddressDialog extends DialogComponentProvider { ExternalManager externalManager = program.getExternalManager(); for (Symbol s : symbolTable.getExternalSymbols()) { SymbolType type = s.getSymbolType(); - if (type == SymbolType.FUNCTION || type == SymbolType.CODE) { + if (type == SymbolType.FUNCTION || type == SymbolType.LABEL) { ExternalLocation externalLocation = externalManager.getExternalLocation(s); String originalName = externalLocation.getOriginalImportedName(); if (name.equals(originalName)) { diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/label/EditExternalLabelAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/label/EditExternalLabelAction.java index b0dcc7293a..73f84084b0 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/label/EditExternalLabelAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/label/EditExternalLabelAction.java @@ -78,7 +78,7 @@ public class EditExternalLabelAction extends ListingContextAction { if (s == null || !s.isExternal()) { return null; } - if (s.getSymbolType() == SymbolType.CODE || s.getSymbolType() == SymbolType.FUNCTION) { + if (s.getSymbolType() == SymbolType.LABEL || s.getSymbolType() == SymbolType.FUNCTION) { return s; } return null; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/label/LabelMgrPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/label/LabelMgrPlugin.java index 56af83c09a..51d5d5f2b9 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/label/LabelMgrPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/label/LabelMgrPlugin.java @@ -149,7 +149,7 @@ public class LabelMgrPlugin extends Plugin { Symbol s = getSymbol(context); if (s != null) { - if (s.getSource() == SourceType.DEFAULT && s.getSymbolType() == SymbolType.CODE) { + if (s.getSource() == SourceType.DEFAULT && s.getSymbolType() == SymbolType.LABEL) { getAddEditDialog().addLabel(s.getAddress(), context.getProgram()); } else { 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 7d804407d0..6bd59ee33c 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 @@ -263,7 +263,7 @@ public class ProgramManagerPlugin extends Plugin implements ProgramManager { if (type == SymbolType.FUNCTION) { loc = new FunctionSignatureFieldLocation(sym.getProgram(), sym.getAddress()); } - else if (type == SymbolType.CODE) { + else if (type == SymbolType.LABEL) { loc = new LabelFieldLocation(sym); } } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/stackeditor/StackEditorProvider.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/stackeditor/StackEditorProvider.java index 3f2046424b..738c40d288 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/stackeditor/StackEditorProvider.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/stackeditor/StackEditorProvider.java @@ -198,7 +198,7 @@ public class StackEditorProvider extends CompositeEditorProvider implements Doma case ChangeManager.DOCR_SYMBOL_DATA_CHANGED: Symbol sym = (Symbol) ((ProgramChangeRecord) rec).getObject(); SymbolType symType = sym.getSymbolType(); - if (symType == SymbolType.CODE) { + if (symType == SymbolType.LABEL) { if (sym.isPrimary() && sym.getAddress().equals(function.getEntryPoint())) { refreshName(); } @@ -218,7 +218,7 @@ public class StackEditorProvider extends CompositeEditorProvider implements Doma case ChangeManager.DOCR_SYMBOL_SET_AS_PRIMARY: sym = (Symbol) ((ProgramChangeRecord) rec).getObject(); symType = sym.getSymbolType(); - if (symType == SymbolType.CODE && + if (symType == SymbolType.LABEL && sym.getAddress().equals(function.getEntryPoint())) { refreshName(); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/SymbolCategory.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/SymbolCategory.java index 4787965851..b5c7893257 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/SymbolCategory.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/SymbolCategory.java @@ -1,6 +1,5 @@ /* ### * IP: GHIDRA - * REVIEWED: YES * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,9 +20,9 @@ import ghidra.program.model.symbol.SymbolType; public class SymbolCategory { public static final SymbolCategory FUNCTION_CATEGORY = new SymbolCategory("Functions", SymbolType.FUNCTION); - public static final SymbolCategory EXPORTS_CATEGORY = new SymbolCategory("Exports", SymbolType.CODE); + public static final SymbolCategory EXPORTS_CATEGORY = new SymbolCategory("Exports", SymbolType.LABEL); public static final SymbolCategory IMPORTS_CATEGORY = new SymbolCategory("Imports", SymbolType.LIBRARY); - public static final SymbolCategory LABEL_CATEGORY = new SymbolCategory("Labels", SymbolType.CODE); + public static final SymbolCategory LABEL_CATEGORY = new SymbolCategory("Labels", SymbolType.LABEL); public static final SymbolCategory ROOT_CATEGORY = new SymbolCategory("Global", null); public static final SymbolCategory NAMESPACE_CATEGORY = new SymbolCategory("Namespaces", SymbolType.NAMESPACE); public static final SymbolCategory CLASS_CATEGORY = new SymbolCategory("Classes", SymbolType.CLASS); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/SymbolTreeProvider.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/SymbolTreeProvider.java index 7e9e74d317..79a9d21c5d 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/SymbolTreeProvider.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/SymbolTreeProvider.java @@ -357,7 +357,7 @@ public class SymbolTreeProvider extends ComponentProviderAdapter { private boolean canReparentSymbol(Symbol symbol) { SymbolType symbolType = symbol.getSymbolType(); - return (symbolType == SymbolType.CODE) || (symbolType == SymbolType.FUNCTION) || + return (symbolType == SymbolType.LABEL) || (symbolType == SymbolType.FUNCTION) || (symbolType == SymbolType.NAMESPACE) || (symbolType == SymbolType.CLASS); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/EditExternalLocationAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/EditExternalLocationAction.java index 950d83388b..8dd15feeed 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/EditExternalLocationAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/EditExternalLocationAction.java @@ -63,7 +63,7 @@ public class EditExternalLocationAction extends DockingAction { if (s == null || !s.isExternal()) { return null; } - if (s.getSymbolType() == SymbolType.CODE || s.getSymbolType() == SymbolType.FUNCTION) { + if (s.getSymbolType() == SymbolType.LABEL || s.getSymbolType() == SymbolType.FUNCTION) { return s; } return null; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/GoToExternalLocationAction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/GoToExternalLocationAction.java index b3bbaee149..8925584137 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/GoToExternalLocationAction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/actions/GoToExternalLocationAction.java @@ -45,7 +45,7 @@ public class GoToExternalLocationAction extends ProgramSymbolContextAction { if (symbol == null) { return false; } - if (symbol.getSymbolType() == SymbolType.CODE || + if (symbol.getSymbolType() == SymbolType.LABEL || symbol.getSymbolType() == SymbolType.FUNCTION) { return symbol.isExternal(); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/FunctionCategoryNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/FunctionCategoryNode.java index 4b47284f74..17055fbe62 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/FunctionCategoryNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/FunctionCategoryNode.java @@ -147,7 +147,7 @@ class FunctionCategoryNode extends SymbolCategoryNode { private boolean isVariableParameterOrCodeSymbol(Symbol symbol) { SymbolType symbolType = symbol.getSymbolType(); return symbolType.equals(SymbolType.LOCAL_VAR) || symbolType.equals(SymbolType.PARAMETER) || - symbolType.equals(SymbolType.CODE); + symbolType.equals(SymbolType.LABEL); } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/FunctionSymbolNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/FunctionSymbolNode.java index fe4308907c..6383dc296c 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/FunctionSymbolNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/FunctionSymbolNode.java @@ -136,7 +136,7 @@ public class FunctionSymbolNode extends SymbolNode { //@formatter:off return type == SymbolType.PARAMETER || type == SymbolType.LOCAL_VAR || - type == SymbolType.CODE || // label function namespace + type == SymbolType.LABEL || // label function namespace type == SymbolType.NAMESPACE; // namespace in function namespace //@formatter:on } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolNode.java index d6a63e4b25..5caf5fbdb8 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolNode.java @@ -185,7 +185,7 @@ public class SymbolNode extends GTreeSlowLoadingNode implements SymbolTreeNode { if (symbolType.equals(SymbolType.CLASS)) { return new ClassSymbolNode(program, symbol); } - else if (symbolType.equals(SymbolType.CODE)) { + else if (symbolType.equals(SymbolType.LABEL)) { return new CodeSymbolNode(program, symbol); } else if (symbolType.equals(SymbolType.FUNCTION)) { diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolTreeRootNode.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolTreeRootNode.java index 805be74572..1d393093d0 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolTreeRootNode.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/SymbolTreeRootNode.java @@ -89,7 +89,7 @@ public class SymbolTreeRootNode extends SymbolCategoryNode implements GTreeRootN else if (type == LIBRARY || type == NAMESPACE) { return findNamespaceSymbol(key, loadChildren, monitor); } - else if (type == CODE) { + else if (type == LABEL) { return findCodeSymbol(key, loadChildren, monitor); } //else { GLOBAL, GLOBAL_VAR } // not sure where these end up diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symtable/NewSymbolFilter.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symtable/NewSymbolFilter.java index 0ac6949adf..6370e0242b 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symtable/NewSymbolFilter.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symtable/NewSymbolFilter.java @@ -405,7 +405,7 @@ public class NewSymbolFilter implements SymbolFilter { Filter instructionFilter = new Filter("Instruction Labels", true, true) { @Override boolean matches(Program program, Symbol symbol) { - if (symbol.getSymbolType() == SymbolType.CODE && !symbol.isExternal()) { + if (symbol.getSymbolType() == SymbolType.LABEL && !symbol.isExternal()) { Listing l = program.getListing(); Address addr = symbol.getAddress(); CodeUnit cu = l.getCodeUnitContaining(addr); @@ -428,7 +428,7 @@ public class NewSymbolFilter implements SymbolFilter { Filter dataFilter = new Filter("Data Labels", true, true) { @Override boolean matches(Program program, Symbol symbol) { - if (symbol.getSymbolType() == SymbolType.CODE) { + if (symbol.getSymbolType() == SymbolType.LABEL) { if (symbol.isExternal()) { return true; } @@ -455,7 +455,7 @@ public class NewSymbolFilter implements SymbolFilter { Filter functionFilter = new Filter("Function Labels", false, true) { @Override boolean matches(Program program, Symbol symbol) { - if (symbol.getSymbolType() == SymbolType.CODE && !symbol.isExternal()) { + if (symbol.getSymbolType() == SymbolType.LABEL && !symbol.isExternal()) { return program.getFunctionManager().getFunctionAt(symbol.getAddress()) != null; } return (symbol.getSymbolType() == SymbolType.FUNCTION); @@ -599,7 +599,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.CLASS || + return type == SymbolType.LABEL || type == SymbolType.CLASS || type == SymbolType.FUNCTION || type == SymbolType.NAMESPACE || type == SymbolType.PARAMETER || type == SymbolType.LOCAL_VAR; } @@ -627,7 +627,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.CLASS || + return type == SymbolType.LABEL || type == SymbolType.CLASS || type == SymbolType.FUNCTION || type == SymbolType.NAMESPACE || type == SymbolType.PARAMETER || type == SymbolType.LOCAL_VAR; } @@ -655,7 +655,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.CLASS || + return type == SymbolType.LABEL || type == SymbolType.CLASS || type == SymbolType.FUNCTION || type == SymbolType.NAMESPACE; } @@ -681,7 +681,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.CLASS || + return type == SymbolType.LABEL || type == SymbolType.CLASS || type == SymbolType.FUNCTION || type == SymbolType.NAMESPACE; } @@ -707,7 +707,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE; + return type == SymbolType.LABEL; } @Override @@ -729,7 +729,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.FUNCTION; + return type == SymbolType.LABEL || type == SymbolType.FUNCTION; } @Override @@ -756,7 +756,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.FUNCTION; + return type == SymbolType.LABEL || type == SymbolType.FUNCTION; } @Override @@ -778,7 +778,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.FUNCTION; + return type == SymbolType.LABEL || type == SymbolType.FUNCTION; } @Override @@ -806,7 +806,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE; + return type == SymbolType.LABEL; } @Override @@ -826,7 +826,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.FUNCTION; + return type == SymbolType.LABEL || type == SymbolType.FUNCTION; } @Override @@ -847,7 +847,7 @@ public class NewSymbolFilter implements SymbolFilter { @Override boolean isApplicable(Symbol symbol) { SymbolType type = symbol.getSymbolType(); - return type == SymbolType.CODE || type == SymbolType.FUNCTION; + return type == SymbolType.LABEL || type == SymbolType.FUNCTION; } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symtable/SymbolTableModel.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symtable/SymbolTableModel.java index 2d0cbefbcb..cb5ad9b63f 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symtable/SymbolTableModel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symtable/SymbolTableModel.java @@ -699,7 +699,7 @@ class SymbolTableModel extends AddressBasedTableModel { return null; } SymbolType symbolType = symbol.getSymbolType(); - if (symbolType != SymbolType.FUNCTION && symbolType != SymbolType.CODE) { + if (symbolType != SymbolType.FUNCTION && symbolType != SymbolType.LABEL) { return null; } ExternalManager externalManager = p.getExternalManager(); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/prototype/match/MatchSymbol.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/prototype/match/MatchSymbol.java index d60c9dc5ea..58e71a932f 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/prototype/match/MatchSymbol.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/prototype/match/MatchSymbol.java @@ -159,7 +159,7 @@ public class MatchSymbol { final SymbolType symbolType = symbol.getSymbolType(); - if ((symbolType == SymbolType.FUNCTION || symbolType == SymbolType.CODE) && + if ((symbolType == SymbolType.FUNCTION || symbolType == SymbolType.LABEL) && (set.contains(symbol.getAddress()) || (symbol.isExternal() && includeExternals))) { String name = symbol.getName(); if (name.length() >= minSymbolNameLength) { @@ -210,7 +210,7 @@ public class MatchSymbol { if (symbol.getSymbolType() == SymbolType.FUNCTION) { return SymbolMatchType.FUNCTION; } - if (symbol.getSymbolType() != SymbolType.CODE) { + if (symbol.getSymbolType() != SymbolType.LABEL) { return SymbolMatchType.OTHER; } if (symbol.isExternal()) { @@ -413,7 +413,7 @@ public class MatchSymbol { } public SymbolType getMatchType() { - return aSymbol.isFunction ? SymbolType.FUNCTION : SymbolType.CODE; + return aSymbol.isFunction ? SymbolType.FUNCTION : SymbolType.LABEL; } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/DemangledObject.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/DemangledObject.java index cf64da170e..c353a8b070 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/DemangledObject.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/DemangledObject.java @@ -346,7 +346,7 @@ public abstract class DemangledObject { for (Symbol symbol : symbols) { if (symbol.getName().equals(symbolName) && !symbol.getParentNamespace().isGlobal()) { SymbolType symbolType = symbol.getSymbolType(); - if (symbolType == SymbolType.CODE || symbolType == SymbolType.FUNCTION) { + if (symbolType == SymbolType.LABEL || symbolType == SymbolType.FUNCTION) { return true; } } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldFactory.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldFactory.java index 3b1fd2f7f1..6110cc4fe9 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldFactory.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldFactory.java @@ -392,7 +392,7 @@ public class LabelFieldFactory extends FieldFactory { } Symbol symbol = symbols[symbolIndex]; SymbolType symbolType = symbol.getSymbolType(); - if (symbolType != SymbolType.CODE && symbolType != SymbolType.FUNCTION) { + if (symbolType != SymbolType.LABEL && symbolType != SymbolType.FUNCTION) { return null; } return symbol; diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/xml/SymbolTableXmlMgr.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/xml/SymbolTableXmlMgr.java index 74ee3d8f88..2ffc7001bb 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/xml/SymbolTableXmlMgr.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/xml/SymbolTableXmlMgr.java @@ -128,7 +128,7 @@ class SymbolTableXmlMgr { continue; } - if (symbolType != SymbolType.CODE && symbolType != SymbolType.FUNCTION) { + if (symbolType != SymbolType.LABEL && symbolType != SymbolType.FUNCTION) { continue; } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramDiffDetails.java b/Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramDiffDetails.java index 751d08d165..162d24caaf 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramDiffDetails.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramDiffDetails.java @@ -683,7 +683,7 @@ public class ProgramDiffDetails { ArrayList list = new ArrayList<>(); for (Symbol symbol : originalSymbols) { SymbolType symbolType = symbol.getSymbolType(); - if (symbolType.equals(SymbolType.FUNCTION) || (symbolType.equals(SymbolType.CODE) && + if (symbolType.equals(SymbolType.FUNCTION) || (symbolType.equals(SymbolType.LABEL) && !symbol.getSource().equals(SourceType.DEFAULT))) { list.add(symbol); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/program/util/SymbolMerge.java b/Ghidra/Features/Base/src/main/java/ghidra/program/util/SymbolMerge.java index ad4716f732..8c23543e6d 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/program/util/SymbolMerge.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/program/util/SymbolMerge.java @@ -205,7 +205,7 @@ class SymbolMerge { Namespace parentNamespace, SourceType source) throws DuplicateNameException, InvalidInputException { Symbol symbol = null; - if (type == SymbolType.CODE) { + if (type == SymbolType.LABEL) { if (address.isExternalAddress()) { // FIXME Should this be passing the Namespace? ExternalManagerDB extMgr = (ExternalManagerDB) toProgram.getExternalManager(); @@ -591,7 +591,7 @@ class SymbolMerge { long oldID) throws InvalidInputException { Symbol toSymbol = toSymTab.getSymbol(fromName, entryPoint, toNamespace); - if (((toSymbol == null) || !toSymbol.getSymbolType().equals(SymbolType.CODE)) && + if (((toSymbol == null) || !toSymbol.getSymbolType().equals(SymbolType.LABEL)) && (source != SourceType.DEFAULT)) { if (toSymTab.getSymbol(fromName, entryPoint, toNamespace) == null) { toSymbol = toSymbolTable.createLabel(entryPoint, fromName, toNamespace, source); diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalMergerAddTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalMergerAddTest.java index da8bd84f01..4f884553d1 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalMergerAddTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalMergerAddTest.java @@ -938,7 +938,7 @@ public class ExternalMergerAddTest extends AbstractExternalMergerTest { Symbol blueConflict = getUniqueSymbol(resultProgram, label + "_conflict1", externalLibrary); assertNotNull(blue); assertNull(blueConflict); - assertEquals(SymbolType.CODE, blue.getSymbolType()); + assertEquals(SymbolType.LABEL, blue.getSymbolType()); assertTrue(blue.isExternal()); ExternalLocation externalLocation1 = externalManager.getExternalLocation(blue); assertEquals(libname, externalLocation1.getLibraryName()); @@ -1013,7 +1013,7 @@ public class ExternalMergerAddTest extends AbstractExternalMergerTest { Symbol blueConflict = getUniqueSymbol(resultProgram, label + "_conflict1", externalLibrary); assertNotNull(blue); assertNull(blueConflict); - assertEquals(SymbolType.CODE, blue.getSymbolType()); + assertEquals(SymbolType.LABEL, blue.getSymbolType()); assertTrue(blue.isExternal()); ExternalLocation externalLocation = externalManager.getExternalLocation(blue); assertNotNull(externalLocation); @@ -2226,8 +2226,8 @@ public class ExternalMergerAddTest extends AbstractExternalMergerTest { assertNotNull(myNamespace); Symbol apples = getUniqueSymbol(resultProgram, label1, myNamespace); Symbol oranges = getUniqueSymbol(resultProgram, label2, myNamespace); - assertEquals(SymbolType.CODE, apples.getSymbolType()); - assertEquals(SymbolType.CODE, oranges.getSymbolType()); + assertEquals(SymbolType.LABEL, apples.getSymbolType()); + assertEquals(SymbolType.LABEL, oranges.getSymbolType()); ExternalLocation externalLocation = (ExternalLocation) apples.getObject(); assertEquals(label1, externalLocation.getLabel()); assertEquals(libname, externalLocation.getLibraryName()); @@ -2301,7 +2301,7 @@ public class ExternalMergerAddTest extends AbstractExternalMergerTest { assertNotNull(myNamespace); Symbol apples = getUniqueSymbol(resultProgram, label, myNamespace); Symbol applesConflict = getUniqueSymbol(resultProgram, label + "_conflict1", myNamespace); - assertEquals(SymbolType.CODE, apples.getSymbolType()); + assertEquals(SymbolType.LABEL, apples.getSymbolType()); assertNull(applesConflict); ExternalLocation externalLocation = (ExternalLocation) apples.getObject(); assertEquals(label, externalLocation.getLabel()); @@ -2366,7 +2366,7 @@ public class ExternalMergerAddTest extends AbstractExternalMergerTest { assertNotNull(myNamespace); Symbol apples = getUniqueSymbol(resultProgram, label, myNamespace); Symbol applesConflict = getUniqueSymbol(resultProgram, label + "_conflict1", myNamespace); - assertEquals(SymbolType.CODE, apples.getSymbolType()); + assertEquals(SymbolType.LABEL, apples.getSymbolType()); assertNull(applesConflict); ExternalLocation externalLocation = (ExternalLocation) apples.getObject(); assertEquals(label, externalLocation.getLabel()); @@ -3220,7 +3220,7 @@ public class ExternalMergerAddTest extends AbstractExternalMergerTest { List symbols = symtab.getSymbols(label, externalLibrary); assertEquals(1, symbols.size()); Symbol blue = symbols.get(0); - assertEquals(SymbolType.CODE, blue.getSymbolType()); + assertEquals(SymbolType.LABEL, blue.getSymbolType()); assertTrue(blue.isExternal()); ExternalLocation externalLocation = externalManager.getExternalLocation(blue); assertNotNull(externalLocation); @@ -3302,7 +3302,7 @@ public class ExternalMergerAddTest extends AbstractExternalMergerTest { List symbols = symtab.getSymbols(label, externalLibrary); assertEquals(1, symbols.size()); Symbol blue = symbols.get(0); - assertEquals(SymbolType.CODE, blue.getSymbolType()); + assertEquals(SymbolType.LABEL, blue.getSymbolType()); assertTrue(blue.isExternal()); ExternalLocation externalLocation = externalManager.getExternalLocation(blue); assertNotNull(externalLocation); diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalMergerTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalMergerTest.java index 08144fa4d3..6f1452435f 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalMergerTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/ExternalMergerTest.java @@ -2799,7 +2799,7 @@ public class ExternalMergerTest extends AbstractExternalMergerTest { externalManager.getUniqueExternalLocation("advapi32.dll", "apples"); Symbol symbol = externalLocation.getSymbol(); SymbolType symbolType = symbol.getSymbolType(); - assertEquals(SymbolType.CODE, symbolType); + assertEquals(SymbolType.LABEL, symbolType); assertNull(functionManager.getFunctionAt(externalSpaceAddress)); } @@ -2835,7 +2835,7 @@ public class ExternalMergerTest extends AbstractExternalMergerTest { externalManager.getUniqueExternalLocation("advapi32.dll", "apples"); Symbol symbol = externalLocation.getSymbol(); SymbolType symbolType = symbol.getSymbolType(); - assertEquals(SymbolType.CODE, symbolType); + assertEquals(SymbolType.LABEL, symbolType); assertNull(functionManager.getFunctionAt(externalSpaceAddress)); } @@ -2849,7 +2849,7 @@ public class ExternalMergerTest extends AbstractExternalMergerTest { Symbol symbol = externalLocation.getSymbol(); assertNull(externalLocation.getFunction()); SymbolType symbolType = symbol.getSymbolType(); - assertEquals(SymbolType.CODE, symbolType); + assertEquals(SymbolType.LABEL, symbolType); Address externalSpaceAddress = externalLocation.getExternalSpaceAddress(); assertNotNull(externalSpaceAddress); @@ -2860,7 +2860,7 @@ public class ExternalMergerTest extends AbstractExternalMergerTest { symbol = externalLocation.getSymbol(); assertNull(externalLocation.getFunction()); symbolType = symbol.getSymbolType(); - assertEquals(SymbolType.CODE, symbolType); + assertEquals(SymbolType.LABEL, symbolType); FunctionManager functionManager = resultProgram.getFunctionManager(); assertNull(functionManager.getFunctionAt(externalSpaceAddress)); diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin1Test.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin1Test.java index 72828b5064..1baee48aea 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin1Test.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin1Test.java @@ -168,7 +168,7 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { util.selectNode(fNode); Symbol extSym = ((SymbolNode) fNode).getSymbol(); - assertEquals(SymbolType.CODE, extSym.getSymbolType()); + assertEquals(SymbolType.LABEL, extSym.getSymbolType()); assertTrue(extSym.isExternal()); assertNotNull(extSym); assertEquals("IsTextUnicode", extSym.getName()); @@ -866,7 +866,7 @@ public class SymbolTreePlugin1Test extends AbstractGhidraHeadedIntegrationTest { while (it.hasNext()) { Symbol s = it.next(); if (s.getSymbolType() == type) { - if (type != SymbolType.CODE || s.isGlobal()) { + if (type != SymbolType.LABEL || s.isGlobal()) { list.add(s); } } diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/function/ExternalFunctionDBTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/function/ExternalFunctionDBTest.java index 09dd571e6b..5485c6b11a 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/function/ExternalFunctionDBTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/function/ExternalFunctionDBTest.java @@ -73,7 +73,7 @@ public class ExternalFunctionDBTest extends AbstractGhidraHeadedIntegrationTest extMgr.addExtLocation("TestLibrary", name, null, SourceType.USER_DEFINED); Symbol extSym = extLoc.getSymbol(); assertNotNull(extSym); - assertEquals(SymbolType.CODE, extSym.getSymbolType()); + assertEquals(SymbolType.LABEL, extSym.getSymbolType()); assertEquals(extLoc, extSym.getObject()); assertNull(extLoc.getFunction()); @@ -234,7 +234,7 @@ public class ExternalFunctionDBTest extends AbstractGhidraHeadedIntegrationTest program.getExternalManager().getUniqueExternalLocation(parentNamespace, "foo"); assertNotNull(externalLocation); assertTrue(!externalLocation.isFunction()); - assertEquals(SymbolType.CODE, externalLocation.getSymbol().getSymbolType()); + assertEquals(SymbolType.LABEL, externalLocation.getSymbol().getSymbolType()); } @Test @@ -250,7 +250,7 @@ public class ExternalFunctionDBTest extends AbstractGhidraHeadedIntegrationTest program.getExternalManager().getUniqueExternalLocation(parentNamespace, "EXT_00001000"); assertNotNull(externalLocation); assertTrue(!externalLocation.isFunction()); - assertEquals(SymbolType.CODE, externalLocation.getSymbol().getSymbolType()); + assertEquals(SymbolType.LABEL, externalLocation.getSymbol().getSymbolType()); } private Address addr(long offset) { diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/symbol/PinnedSymbolTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/symbol/PinnedSymbolTest.java index 6396eaa63d..cbd006db0f 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/symbol/PinnedSymbolTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/symbol/PinnedSymbolTest.java @@ -69,7 +69,7 @@ public class PinnedSymbolTest extends AbstractGhidraHeadlessIntegrationTest { // check function symbol - function should move, but pinned label should remain. Symbol symbol = symbolTable.getPrimarySymbol(addr(0xc)); assertNotNull(symbol); - assertEquals(SymbolType.CODE, symbol.getSymbolType()); + assertEquals(SymbolType.LABEL, symbol.getSymbolType()); assertEquals("MyFunction", symbol.getName()); symbol = symbolTable.getPrimarySymbol(addr(0x10c)); assertNotNull(symbol); @@ -100,7 +100,7 @@ public class PinnedSymbolTest extends AbstractGhidraHeadlessIntegrationTest { // check function symbol - function should move, but pinned label should remain. Symbol symbol = symbolTable.getPrimarySymbol(addr(0xc)); assertNotNull(symbol); - assertEquals(SymbolType.CODE, symbol.getSymbolType()); + assertEquals(SymbolType.LABEL, symbol.getSymbolType()); assertEquals("MyFunction", symbol.getName()); symbol = symbolTable.getPrimarySymbol(addr(0x20c)); assertNotNull(symbol); @@ -128,7 +128,7 @@ public class PinnedSymbolTest extends AbstractGhidraHeadlessIntegrationTest { // check the pinned function symbol is now just a pinned code symbol Symbol symbol = symbolTable.getPrimarySymbol(addr(0xc)); assertNotNull(symbol); - assertEquals(SymbolType.CODE, symbol.getSymbolType()); + assertEquals(SymbolType.LABEL, symbol.getSymbolType()); assertEquals("MyFunction", symbol.getName()); assertTrue(symbol.isPinned()); } diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/symbol/SymbolManagerTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/symbol/SymbolManagerTest.java index 768e6d4785..7964cd1132 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/symbol/SymbolManagerTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/database/symbol/SymbolManagerTest.java @@ -404,7 +404,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { Symbol[] symbols = st.getSymbols(addr); assertEquals(1, symbols.length); assertEquals("lamp", symbols[0].getName()); - assertEquals(SymbolType.CODE, symbols[0].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[0].getSymbolType()); assertEquals(false, symbols[0].getSource() == SourceType.DEFAULT); st.createLabel(addr, "shade", SourceType.USER_DEFINED); @@ -412,10 +412,10 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { symbols = st.getSymbols(addr); assertEquals(2, symbols.length); assertEquals("lamp", symbols[0].getName()); - assertEquals(SymbolType.CODE, symbols[0].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[0].getSymbolType()); assertEquals(false, symbols[0].getSource() == SourceType.DEFAULT); assertEquals("shade", symbols[1].getName()); - assertEquals(SymbolType.CODE, symbols[1].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[1].getSymbolType()); assertEquals(false, symbols[1].getSource() == SourceType.DEFAULT); } @@ -429,7 +429,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { Symbol[] symbols = st.getSymbols(addr); assertEquals(1, symbols.length); assertEquals("LAB_00000200", symbols[0].getName()); - assertEquals(SymbolType.CODE, symbols[0].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[0].getSymbolType()); assertEquals(true, symbols[0].getSource() == SourceType.DEFAULT); st.createLabel(addr, "lamp", SourceType.USER_DEFINED); @@ -437,7 +437,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { symbols = st.getSymbols(addr); assertEquals(1, symbols.length); assertEquals("lamp", symbols[0].getName()); - assertEquals(SymbolType.CODE, symbols[0].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[0].getSymbolType()); assertEquals(false, symbols[0].getSource() == SourceType.DEFAULT); st.removeSymbolSpecial(symbols[0]); @@ -445,7 +445,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { symbols = st.getSymbols(addr); assertEquals(1, symbols.length); assertEquals("LAB_00000200", symbols[0].getName()); - assertEquals(SymbolType.CODE, symbols[0].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[0].getSymbolType()); assertEquals(true, symbols[0].getSource() == SourceType.DEFAULT); } @@ -494,7 +494,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { assertEquals(SymbolType.FUNCTION, symbols[0].getSymbolType()); assertEquals(false, symbols[0].getSource() == SourceType.DEFAULT); assertEquals("bar", symbols[1].getName()); - assertEquals(SymbolType.CODE, symbols[1].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[1].getSymbolType()); assertEquals(false, symbols[1].getSource() == SourceType.DEFAULT); } @@ -513,10 +513,10 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { assertEquals(SymbolType.FUNCTION, symbols[0].getSymbolType()); assertEquals(false, symbols[0].getSource() == SourceType.DEFAULT); assertEquals("lamp", symbols[1].getName()); - assertEquals(SymbolType.CODE, symbols[1].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[1].getSymbolType()); assertEquals(false, symbols[1].getSource() == SourceType.DEFAULT); assertEquals("shade", symbols[2].getName()); - assertEquals(SymbolType.CODE, symbols[2].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[2].getSymbolType()); assertEquals(false, symbols[2].getSource() == SourceType.DEFAULT); Function f = program.getFunctionManager().getFunctionAt(addr); @@ -530,7 +530,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { assertEquals(SymbolType.FUNCTION, symbols[0].getSymbolType()); assertEquals(false, symbols[0].getSource() == SourceType.DEFAULT); assertEquals("shade", symbols[1].getName()); - assertEquals(SymbolType.CODE, symbols[1].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[1].getSymbolType()); assertEquals(false, symbols[1].getSource() == SourceType.DEFAULT); f = program.getFunctionManager().getFunctionAt(addr); @@ -587,7 +587,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { s = st.getPrimarySymbol(addr(0x0200)); assertNotNull(s); assertEquals("MyFunction", s.getName()); - assertEquals(SymbolType.CODE, s.getSymbolType()); + assertEquals(SymbolType.LABEL, s.getSymbolType()); boolean removed = st.removeSymbolSpecial(s); assertTrue(removed);// Should be able to remove function symbol after function. @@ -615,7 +615,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { assertEquals(SymbolType.FUNCTION, symbols[0].getSymbolType()); assertEquals(false, symbols[0].getSource() == SourceType.DEFAULT); assertEquals("Bob", symbols[1].getName()); - assertEquals(SymbolType.CODE, symbols[1].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[1].getSymbolType()); assertEquals(false, symbols[1].getSource() == SourceType.DEFAULT); st.removeSymbolSpecial(s); @@ -656,7 +656,7 @@ public class SymbolManagerTest extends AbstractGhidraHeadedIntegrationTest { assertEquals(oldNamespace, symbols[0].getParentNamespace()); assertEquals(false, symbols[0].getSource() == SourceType.DEFAULT); assertEquals("Bob", symbols[1].getName()); - assertEquals(SymbolType.CODE, symbols[1].getSymbolType()); + assertEquals(SymbolType.LABEL, symbols[1].getSymbolType()); assertEquals(newNamespace, symbols[1].getParentNamespace()); assertEquals(false, symbols[1].getSource() == SourceType.DEFAULT); diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/util/ProgramMerge2Test.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/util/ProgramMerge2Test.java index e96536b95a..25b165fcad 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/program/util/ProgramMerge2Test.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/program/util/ProgramMerge2Test.java @@ -828,7 +828,7 @@ public class ProgramMerge2Test extends AbstractGhidraHeadedIntegrationTest { Symbol[] syms = st.getSymbols(addr(p1, "0x0100299e")); assertEquals(1, syms.length); assertEquals("SampleLabel", syms[0].getName()); - assertEquals(SymbolType.CODE, syms[0].getSymbolType()); + assertEquals(SymbolType.LABEL, syms[0].getSymbolType()); assertEquals("MY.DLL", syms[0].getParentNamespace().getName()); assertEquals(SymbolType.NAMESPACE, syms[0].getParentNamespace().getSymbol().getSymbolType()); @@ -1031,7 +1031,7 @@ public class ProgramMerge2Test extends AbstractGhidraHeadedIntegrationTest { assertEquals(SymbolType.NAMESPACE, syms[0].getParentNamespace().getSymbol().getSymbolType()); assertEquals("MY.DLL_SampleLabel", syms[1].getName()); - assertEquals(SymbolType.CODE, syms[1].getSymbolType()); + assertEquals(SymbolType.LABEL, syms[1].getSymbolType()); assertEquals("Global", syms[1].getParentNamespace().getName()); assertEquals(SymbolType.GLOBAL, syms[1].getParentNamespace().getSymbol().getSymbolType()); @@ -1137,7 +1137,7 @@ public class ProgramMerge2Test extends AbstractGhidraHeadedIntegrationTest { assertEquals(SymbolType.NAMESPACE, syms[0].getParentNamespace().getSymbol().getSymbolType()); assertEquals("MY.DLL_SampleLabel", syms[1].getName()); - assertEquals(SymbolType.CODE, syms[1].getSymbolType()); + assertEquals(SymbolType.LABEL, syms[1].getSymbolType()); assertEquals("Global", syms[1].getParentNamespace().getName()); assertEquals(SymbolType.GLOBAL, syms[1].getParentNamespace().getSymbol().getSymbolType()); @@ -1339,7 +1339,7 @@ public class ProgramMerge2Test extends AbstractGhidraHeadedIntegrationTest { assertEquals(SymbolType.GLOBAL, syms[0].getParentNamespace().getSymbol().getSymbolType()); assertEquals("SampleLabel", syms[1].getName()); - assertEquals(SymbolType.CODE, syms[1].getSymbolType()); + assertEquals(SymbolType.LABEL, syms[1].getSymbolType()); assertEquals("MY.DLL", syms[1].getParentNamespace().getName()); assertEquals(SymbolType.NAMESPACE, syms[1].getParentNamespace().getSymbol().getSymbolType()); @@ -1443,7 +1443,7 @@ public class ProgramMerge2Test extends AbstractGhidraHeadedIntegrationTest { assertEquals(SymbolType.NAMESPACE, syms[0].getParentNamespace().getSymbol().getSymbolType()); assertEquals("MY.DLL_SampleLabel", syms[1].getName()); - assertEquals(SymbolType.CODE, syms[1].getSymbolType()); + assertEquals(SymbolType.LABEL, syms[1].getSymbolType()); assertEquals("Global", syms[1].getParentNamespace().getName()); assertEquals(SymbolType.GLOBAL, syms[1].getParentNamespace().getSymbol().getSymbolType()); diff --git a/Ghidra/Features/Base/src/test/java/ghidra/app/cmd/label/AddLabelCmdTest.java b/Ghidra/Features/Base/src/test/java/ghidra/app/cmd/label/AddLabelCmdTest.java index 12f65b667a..f8ab6715de 100644 --- a/Ghidra/Features/Base/src/test/java/ghidra/app/cmd/label/AddLabelCmdTest.java +++ b/Ghidra/Features/Base/src/test/java/ghidra/app/cmd/label/AddLabelCmdTest.java @@ -103,7 +103,7 @@ public class AddLabelCmdTest extends AbstractGenericTest { execute(cmd); Symbol symbol = getUniqueSymbol(notepad, "fred", null); assertNotNull(symbol); - assertEquals(SymbolType.CODE, symbol.getSymbolType()); + assertEquals(SymbolType.LABEL, symbol.getSymbolType()); SetLabelPrimaryCmd c = new SetLabelPrimaryCmd(symbol.getAddress(), "fred", symbol.getParentNamespace()); execute(c); @@ -139,7 +139,7 @@ public class AddLabelCmdTest extends AbstractGenericTest { execute(cmd); Symbol symbol = getUniqueSymbol(notepad, "fred", ns); assertNotNull(symbol); - assertEquals(SymbolType.CODE, symbol.getSymbolType()); + assertEquals(SymbolType.LABEL, symbol.getSymbolType()); SetLabelPrimaryCmd c = new SetLabelPrimaryCmd(symbol.getAddress(), "fred", symbol.getParentNamespace()); execute(c); diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/markuptype/FunctionNameMarkupType.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/markuptype/FunctionNameMarkupType.java index c261ccedd3..92758a27a9 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/markuptype/FunctionNameMarkupType.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/markuptype/FunctionNameMarkupType.java @@ -127,7 +127,7 @@ public class FunctionNameMarkupType extends FunctionEntryPointBasedAbstractMarku SymbolTable symbolTable = destinationProgram.getSymbolTable(); Symbol desiredSymbol = symbolTable.getSymbol(destinationName, destinationAddress, destinationNamespace); - if (desiredSymbol != null && desiredSymbol.getSymbolType() == SymbolType.CODE) { + if (desiredSymbol != null && desiredSymbol.getSymbolType() == SymbolType.LABEL) { SetLabelPrimaryCmd setLabelPrimaryCmd = new SetLabelPrimaryCmd(desiredSymbol.getAddress(), desiredSymbol.getName(), desiredSymbol.getParentNamespace()); diff --git a/Ghidra/Features/VersionTracking/src/test.slow/java/ghidra/feature/vt/api/markupitem/FunctionNameMarkupItemTest.java b/Ghidra/Features/VersionTracking/src/test.slow/java/ghidra/feature/vt/api/markupitem/FunctionNameMarkupItemTest.java index c946677ddd..1eebda5ee6 100644 --- a/Ghidra/Features/VersionTracking/src/test.slow/java/ghidra/feature/vt/api/markupitem/FunctionNameMarkupItemTest.java +++ b/Ghidra/Features/VersionTracking/src/test.slow/java/ghidra/feature/vt/api/markupitem/FunctionNameMarkupItemTest.java @@ -521,7 +521,7 @@ public class FunctionNameMarkupItemTest extends AbstractVTMarkupItemTest { Symbol otherSymbol = symbolTable.getGlobalSymbol(destinationName, getDestinationMatchAddress()); assertNotNull(otherSymbol); - assertEquals(SymbolType.CODE, otherSymbol.getSymbolType()); + assertEquals(SymbolType.LABEL, otherSymbol.getSymbolType()); assertEquals("Additional label was not applied", destinationName, otherSymbol.getName()); } @@ -532,7 +532,7 @@ public class FunctionNameMarkupItemTest extends AbstractVTMarkupItemTest { Symbol destinationSymbol = symbolTable.getGlobalSymbol(destinationName, getDestinationMatchAddress()); assertNotNull("Expected an additional label", destinationSymbol); - assertEquals(SymbolType.CODE, destinationSymbol.getSymbolType()); + assertEquals(SymbolType.LABEL, destinationSymbol.getSymbolType()); } } else if (functionNameChoice == FunctionNameChoices.ADD) { @@ -543,7 +543,7 @@ public class FunctionNameMarkupItemTest extends AbstractVTMarkupItemTest { Symbol otherSymbol = symbolTable.getGlobalSymbol(sourceName, getDestinationMatchAddress()); assertNotNull(otherSymbol); - assertEquals(SymbolType.CODE, otherSymbol.getSymbolType()); + assertEquals(SymbolType.LABEL, otherSymbol.getSymbolType()); } } else if (!sourceIsDefault) { diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/external/ExternalManagerDB.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/external/ExternalManagerDB.java index 5e0bf6a329..7860644b69 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/external/ExternalManagerDB.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/external/ExternalManagerDB.java @@ -555,7 +555,7 @@ public class ExternalManagerDB implements ManagerDB, ExternalManager { */ public static String getDefaultExternalName(SymbolDB sym) { SymbolType type = sym.getSymbolType(); - if ((type != SymbolType.CODE && type != SymbolType.FUNCTION) || !sym.isExternal()) { + if ((type != SymbolType.LABEL && type != SymbolType.FUNCTION) || !sym.isExternal()) { throw new AssertException(); } ExternalData3 externalData3 = ExternalLocationDB.getExternalData3(sym); @@ -609,7 +609,7 @@ public class ExternalManagerDB implements ManagerDB, ExternalManager { } SymbolType symbolType = symbol.getSymbolType(); - if (symbolType == SymbolType.CODE || symbolType == SymbolType.FUNCTION) { + if (symbolType == SymbolType.LABEL || symbolType == SymbolType.FUNCTION) { return getExtLocation(symbol.getAddress()); } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java index e9a6c8b783..1c58eb787b 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java @@ -2886,7 +2886,7 @@ public class FunctionDB extends DatabaseObject implements Function { checkDeleted(); ArrayList list = new ArrayList<>(20); for (Symbol childSymbol : program.getSymbolTable().getSymbols(this)) { - if ((childSymbol.getSymbolType() == SymbolType.CODE) && + if ((childSymbol.getSymbolType() == SymbolType.LABEL) && (childSymbol.getSource() == SourceType.USER_DEFINED)) { list.add(childSymbol); } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionManagerDB.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionManagerDB.java index a62d56036b..6c8337e8c8 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionManagerDB.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionManagerDB.java @@ -1139,7 +1139,7 @@ public class FunctionManagerDB implements ManagerDB, FunctionManager { Symbol functionSymbol = function.getSymbol(); ArrayList list = new ArrayList<>(); - SymbolIterator iter = symbolMgr.getSymbols(set, SymbolType.CODE, true); + SymbolIterator iter = symbolMgr.getSymbols(set, SymbolType.LABEL, true); while (iter.hasNext()) { Symbol symbol = iter.next(); if (symbol.getParentSymbol() == functionSymbol) { diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/references/ReferenceDBManager.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/references/ReferenceDBManager.java index 4c985a1af7..9366cc454e 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/references/ReferenceDBManager.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/references/ReferenceDBManager.java @@ -1227,7 +1227,7 @@ public class ReferenceDBManager implements ReferenceManager, ManagerDB, ErrorHan if (symbol.isDynamic()) { return; } - if (symbol.getSymbolType() != SymbolType.CODE) { + if (symbol.getSymbolType() != SymbolType.LABEL) { checkFunctionChange(symbol); return; } @@ -1268,7 +1268,7 @@ public class ReferenceDBManager implements ReferenceManager, ManagerDB, ErrorHan */ @Override public void setAssociation(Symbol s, Reference ref) { - if (s.getSymbolType() != SymbolType.CODE || s.isDynamic()) { + if (s.getSymbolType() != SymbolType.LABEL || s.isDynamic()) { return; } lock.acquire(); diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/CodeSymbol.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/CodeSymbol.java index 650bf175f8..b3de9fac9a 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/CodeSymbol.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/CodeSymbol.java @@ -66,7 +66,7 @@ public class CodeSymbol extends SymbolDB { */ @Override public SymbolType getSymbolType() { - return SymbolType.CODE; + return SymbolType.LABEL; } @Override @@ -217,7 +217,7 @@ public class CodeSymbol extends SymbolDB { */ @Override public boolean isValidParent(Namespace parent) { - return SymbolType.CODE.isValidParent(symbolMgr.getProgram(), parent, address, isExternal()); + return SymbolType.LABEL.isValidParent(symbolMgr.getProgram(), parent, address, isExternal()); // if (isExternal() != parent.isExternal()) { // return false; diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/FunctionSymbol.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/FunctionSymbol.java index 6b455cc89b..af59a47c0e 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/FunctionSymbol.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/FunctionSymbol.java @@ -152,7 +152,7 @@ public class FunctionSymbol extends SymbolDB { SymbolDB newSym; try { newSym = symbolMgr.createSpecialSymbol(entryPoint, symName, namespace, - SymbolType.CODE, -1, -1, data3, source); + SymbolType.LABEL, -1, -1, data3, source); if (pinned) { newSym.setPinned(true); } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDB.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDB.java index 38d4d532c6..0808642683 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDB.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDB.java @@ -544,7 +544,7 @@ public abstract class SymbolDB extends DatabaseObject implements Symbol { if (nameChange) { SymbolType symbolType = getSymbolType(); if (isExternal() && - (symbolType == SymbolType.FUNCTION || symbolType == SymbolType.CODE)) { + (symbolType == SymbolType.FUNCTION || symbolType == SymbolType.LABEL)) { ExternalManagerDB externalManager = symbolMgr.getExternalManager(); ExternalLocationDB externalLocation = (ExternalLocationDB) externalManager.getExternalLocation(this); @@ -576,7 +576,7 @@ public abstract class SymbolDB extends DatabaseObject implements Symbol { } private void checkEditOK() throws InvalidInputException { - if (getSymbolType() == SymbolType.CODE) { + if (getSymbolType() == SymbolType.LABEL) { for (Register reg : symbolMgr.getProgram().getRegisters(getAddress())) { if (reg.getName().equals(getName())) { throw new InvalidInputException("Register symbol may not be renamed"); diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDatabaseAdapterV0.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDatabaseAdapterV0.java index 9fb3f958eb..7f04c65702 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDatabaseAdapterV0.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDatabaseAdapterV0.java @@ -1,6 +1,5 @@ /* ### * IP: GHIDRA - * REVIEWED: YES * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -116,7 +115,7 @@ class SymbolDatabaseAdapterV0 extends SymbolDatabaseAdapter { record.getLongValue(V0_SYMBOL_ADDR_COL)); rec.setIntValue(SymbolDatabaseAdapter.SYMBOL_DATA2_COL, record.getBooleanValue(V0_SYMBOL_PRIMARY_COL) ? 1 : 0); - rec.setByteValue(SymbolDatabaseAdapter.SYMBOL_TYPE_COL, SymbolType.CODE.getID()); + rec.setByteValue(SymbolDatabaseAdapter.SYMBOL_TYPE_COL, SymbolType.LABEL.getID()); rec.setLongValue(SymbolDatabaseAdapter.SYMBOL_DATA1_COL, -1); // not applicable rec.setLongValue(SymbolDatabaseAdapter.SYMBOL_PARENT_COL, Namespace.GLOBAL_NAMESPACE_ID); rec.setByteValue(SymbolDatabaseAdapter.SYMBOL_FLAGS_COL, diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolManager.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolManager.java index dcce3153de..40409ac8dc 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolManager.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolManager.java @@ -238,7 +238,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { while (symbolRecordIterator.hasNext()) { monitor.checkCanceled(); Record rec = symbolRecordIterator.next(); - rec.setByteValue(SymbolDatabaseAdapter.SYMBOL_TYPE_COL, SymbolType.CODE.getID()); + rec.setByteValue(SymbolDatabaseAdapter.SYMBOL_TYPE_COL, SymbolType.LABEL.getID()); adapter.updateSymbolRecord(rec); } monitor.setProgress(1); @@ -437,7 +437,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { while (!success) { try { addSymbolRecord(rec.getKey(), addr, namespace, name, - rec.getBooleanValue(OLD_SYMBOL_IS_PRIMARY_COL), SymbolType.CODE, + rec.getBooleanValue(OLD_SYMBOL_IS_PRIMARY_COL), SymbolType.LABEL, SourceType.USER_DEFINED); success = true; } @@ -517,7 +517,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { Address address = symbol.getAddress(); symbolRemoved(symbol, address, symbol.getName(), oldKey, Namespace.GLOBAL_NAMESPACE_ID, null); - Record record = adapter.createSymbol(newName, address, newParentID, SymbolType.CODE, 0, + Record record = adapter.createSymbol(newName, address, newParentID, SymbolType.LABEL, 0, 1, null, source); symbol.setRecord(record);// symbol object was morphed symbolAdded(symbol); @@ -576,7 +576,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { if (type == SymbolType.CLASS) { return new ClassSymbol(this, cache, addr, record); } - else if (type == SymbolType.CODE) { + else if (type == SymbolType.LABEL) { return new CodeSymbol(this, cache, addr, record); } else if (type == SymbolType.NAMESPACE) { @@ -1172,7 +1172,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { public SymbolIterator getPrimarySymbolIterator(AddressSetView set, boolean forward) { Query query1 = new FieldMatchQuery(SymbolDatabaseAdapter.SYMBOL_DATA2_COL, new IntField(1)); Query query2 = new FieldMatchQuery(SymbolDatabaseAdapter.SYMBOL_TYPE_COL, - new ByteField(SymbolType.CODE.getID())); + new ByteField(SymbolType.LABEL.getID())); Query query3 = new FieldMatchQuery(SymbolDatabaseAdapter.SYMBOL_TYPE_COL, new ByteField(SymbolType.FUNCTION.getID())); Query query4 = new AndQuery(query1, query2); @@ -1495,7 +1495,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { long parentId, SymbolType symType) { // create a label history record - if (symType == SymbolType.CODE || symType == SymbolType.FUNCTION) { + if (symType == SymbolType.LABEL || symType == SymbolType.FUNCTION) { createLabelHistoryRecord(addr, null, name, LabelHistory.REMOVE); } @@ -2076,7 +2076,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { typeID != SymbolType.LOCAL_VAR.getID() && typeID != SymbolType.GLOBAL_VAR.getID()) { - if (typeID == SymbolType.CODE.getID()) { + if (typeID == SymbolType.LABEL.getID()) { // Check for External Code Symbol Address addr = addrMap.decodeAddress( rec.getLongValue(SymbolDatabaseAdapter.SYMBOL_ADDR_COL)); @@ -2349,9 +2349,9 @@ public class SymbolManager implements SymbolTable, ManagerDB { SourceType source, String data3) throws InvalidInputException { lock.acquire(); try { - namespace = validateNamespace(namespace, addr, SymbolType.CODE); - source = validateSource(source, name, addr, SymbolType.CODE); - name = validateName(name, addr, SymbolType.CODE, source); + namespace = validateNamespace(namespace, addr, SymbolType.LABEL); + source = validateSource(source, name, addr, SymbolType.LABEL); + name = validateName(name, addr, SymbolType.LABEL, source); Symbol symbol = getSymbol(name, addr, namespace); if (symbol != null) { @@ -2372,7 +2372,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { } boolean makePrimary = primary == null; - return doCreateSymbol(name, addr, namespace, SymbolType.CODE, -1, makePrimary ? 1 : 0, + return doCreateSymbol(name, addr, namespace, SymbolType.LABEL, -1, makePrimary ? 1 : 0, data3, source); } finally { @@ -2449,7 +2449,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { return null; } // Even though this doesn't change the name or namespace, return this so it will be deleted later. - return findMatchingSymbol(symbols, new SymbolMatcher(name, namespace, SymbolType.CODE)); + return findMatchingSymbol(symbols, new SymbolMatcher(name, namespace, SymbolType.LABEL)); } private void cleanUpSymbols(Symbol[] symbols, Symbol symbolToPromote) { @@ -2595,7 +2595,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { } private boolean isExternal(SymbolType type, Address addr, Namespace parentNamespace) { - if (type == SymbolType.CODE || type == SymbolType.FUNCTION) { + if (type == SymbolType.LABEL || type == SymbolType.FUNCTION) { return addr.isExternalAddress(); } return parentNamespace.isExternal(); @@ -2627,7 +2627,7 @@ public class SymbolManager implements SymbolTable, ManagerDB { List filtered = new ArrayList<>(); for (Symbol symbol : symbols) { SymbolType type = symbol.getSymbolType(); - if (type == SymbolType.FUNCTION || type == SymbolType.CODE) { + if (type == SymbolType.FUNCTION || type == SymbolType.LABEL) { filtered.add(symbol); } } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/DataTypeSymbol.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/DataTypeSymbol.java index 669c939d23..bf143f454e 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/DataTypeSymbol.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/DataTypeSymbol.java @@ -110,7 +110,7 @@ public class DataTypeSymbol { Symbol sym = iter.next(); if (!sym.getName().startsWith(nmroot)) continue; - if (sym.getSymbolType() != SymbolType.CODE) + if (sym.getSymbolType() != SymbolType.LABEL) continue; if (!addr.equals(sym.getAddress())) continue; @@ -124,7 +124,7 @@ public class DataTypeSymbol { } public static DataTypeSymbol readSymbol(String cat, Symbol s) { - if (s.getSymbolType() != SymbolType.CODE) { + if (s.getSymbolType() != SymbolType.LABEL) { throw new IllegalArgumentException("Expected CODE symbol"); } String hash = extractHash(s.getName()); diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighFunction.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighFunction.java index edf69e34e5..8624851227 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighFunction.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighFunction.java @@ -184,7 +184,7 @@ public class HighFunction extends PcodeSyntaxTree { } } else if (nm.equals("prt")) { - if (sym.getSymbolType() == SymbolType.CODE) { + if (sym.getSymbolType() == SymbolType.LABEL) { DataTypeSymbol protover = HighFunctionDBUtil.readOverride(sym); if (protover != null) { if (protoOverrides == null) { diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolType.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolType.java index 1e7124060e..72193927dd 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolType.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolType.java @@ -25,7 +25,7 @@ import ghidra.program.model.listing.Program; */ public abstract class SymbolType { - public static final SymbolType CODE = new SymbolType("Label", false, 0) { + public static final SymbolType LABEL = new SymbolType("Label", false, 0) { @Override public boolean isValidParent(Program program, Namespace parent, Address symbolAddr, boolean isExternalSymbol) { @@ -61,6 +61,12 @@ public abstract class SymbolType { }; + /** + * @deprecated use {@link #LABEL} instead. + */ + @Deprecated(since = "9.1", forRemoval = true) + public static final SymbolType CODE = LABEL; + public static final SymbolType LIBRARY = new SymbolType("Library", true, 1) { @Override public boolean isValidParent(Program program, Namespace parent, Address symbolAddr, @@ -263,7 +269,7 @@ public abstract class SymbolType { }; private static final SymbolType[] types = - { CODE, LIBRARY, null, NAMESPACE, CLASS, FUNCTION, PARAMETER, LOCAL_VAR, GLOBAL_VAR }; + { LABEL, LIBRARY, null, NAMESPACE, CLASS, FUNCTION, PARAMETER, LOCAL_VAR, GLOBAL_VAR }; private final String name; private final byte value; diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolUtilities.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolUtilities.java index 622777ec44..5d41b1f80f 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolUtilities.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolUtilities.java @@ -874,7 +874,7 @@ public class SymbolUtilities { } SymbolType symType = symbol.getSymbolType(); - if (symType == SymbolType.CODE) { + if (symType == SymbolType.LABEL) { if (symbol.isExternal()) { return "External Data"; } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/LabelFieldLocation.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/LabelFieldLocation.java index 50324bd642..277d51c876 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/LabelFieldLocation.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/LabelFieldLocation.java @@ -107,7 +107,7 @@ public class LabelFieldLocation extends CodeUnitLocation { public LabelFieldLocation(Symbol s, int row, int charOffset) { this(s.getProgram(), s.getAddress(), null, s.getName(), s.getParentNamespace(), row, charOffset); - if (s.getSymbolType() != SymbolType.CODE && s.getSymbolType() != SymbolType.FUNCTION) { + if (s.getSymbolType() != SymbolType.LABEL && s.getSymbolType() != SymbolType.FUNCTION) { throw new IllegalArgumentException("Code symbol expected"); } } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/ProgramUtilities.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/ProgramUtilities.java index 2b412b7671..ccfbedc131 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/ProgramUtilities.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/ProgramUtilities.java @@ -148,7 +148,7 @@ public class ProgramUtilities { } try { - if (s.getSymbolType() != SymbolType.CODE) { + if (s.getSymbolType() != SymbolType.LABEL) { functionSymbol.delete(); return; } diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/SimpleDiffUtility.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/SimpleDiffUtility.java index b9dd10a2d8..137db1eec0 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/SimpleDiffUtility.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/SimpleDiffUtility.java @@ -355,7 +355,7 @@ public class SimpleDiffUtility { if (symbolType == SymbolType.FUNCTION) { return getOtherFunctionSymbol(symbol, otherProgram, otherNamespace); } - if (symbolType == SymbolType.CODE) { + if (symbolType == SymbolType.LABEL) { return getOtherCodeSymbol(symbol, otherProgram, otherNamespace); } // In case any new SymbolTypes get added @@ -522,7 +522,7 @@ public class SimpleDiffUtility { return null; } SymbolType type = symbol.getSymbolType(); - if ((type != SymbolType.FUNCTION && type != SymbolType.CODE) || !symbol.isExternal()) { + if ((type != SymbolType.FUNCTION && type != SymbolType.LABEL) || !symbol.isExternal()) { return null; }