Merge remote-tracking branch 'origin/GT-2966_ryanmkurtz_SymbolType'

This commit is contained in:
Ryan Kurtz
2019-07-02 16:21:47 -04:00
59 changed files with 149 additions and 145 deletions
@@ -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());
}
@@ -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;
}
@@ -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
}
}
@@ -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;
}
@@ -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;
}
@@ -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);
}
@@ -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 =
@@ -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
@@ -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()) {
@@ -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;
}
@@ -386,7 +386,7 @@ public class EntryPointAnalyzer extends AbstractAnalyzer {
private void addCodeSymbolsToSet(Program program, AddressSetView addressSet,
TaskMonitor monitor, Set<Address> 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();
@@ -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;
}
}
@@ -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)) {
@@ -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;
@@ -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 {
@@ -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);
}
}
@@ -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();
}
@@ -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);
@@ -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);
}
@@ -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;
@@ -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();
}
@@ -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
@@ -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
}
@@ -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)) {
@@ -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
@@ -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
@@ -699,7 +699,7 @@ class SymbolTableModel extends AddressBasedTableModel<SymbolRowObject> {
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();
@@ -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
@@ -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;
}
}
@@ -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;
@@ -128,7 +128,7 @@ class SymbolTableXmlMgr {
continue;
}
if (symbolType != SymbolType.CODE && symbolType != SymbolType.FUNCTION) {
if (symbolType != SymbolType.LABEL && symbolType != SymbolType.FUNCTION) {
continue;
}
@@ -683,7 +683,7 @@ public class ProgramDiffDetails {
ArrayList<Symbol> 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);
}
@@ -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);
@@ -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<Symbol> 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<Symbol> 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);
@@ -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));
@@ -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);
}
}
@@ -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) {
@@ -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());
}
@@ -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);
@@ -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());
@@ -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);
@@ -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());
@@ -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) {
@@ -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());
}
@@ -2886,7 +2886,7 @@ public class FunctionDB extends DatabaseObject implements Function {
checkDeleted();
ArrayList<Symbol> 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);
}
@@ -1139,7 +1139,7 @@ public class FunctionManagerDB implements ManagerDB, FunctionManager {
Symbol functionSymbol = function.getSymbol();
ArrayList<Symbol> 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) {
@@ -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();
@@ -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;
@@ -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);
}
@@ -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");

Some files were not shown because too many files have changed in this diff Show More