mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-26 22:20:42 +00:00
Merge branch 'GP-0_ryanmkurtz_PR-7112_hippietrail_decendent'
This commit is contained in:
commit
df050c0556
@ -90,7 +90,7 @@ public class ObjectTree implements ObjectPane {
|
||||
if (selectionPaths != null && selectionPaths.length > 0) {
|
||||
TreePath currentPath = currentSelectionPaths[0];
|
||||
TreePath selectedPath = selectionPaths[0];
|
||||
// NB. isDescendant == has a descendent
|
||||
// NB. isDescendant == has a descendant
|
||||
if (selectedPath.isDescendant(currentPath)) {
|
||||
return;
|
||||
}
|
||||
|
@ -556,7 +556,7 @@ public enum VariableValueUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the descendent that dereferences this given varnode
|
||||
* Find the descendant that dereferences this given varnode
|
||||
*
|
||||
* <p>
|
||||
* This searches only one hop for a {@link PcodeOp#LOAD} or {@link PcodeOp#STORE}. If it find a
|
||||
|
@ -203,7 +203,7 @@ public class RTTIClassRecoverer extends RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if issues setting function return
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
public void figureOutClassDataMembers(List<RecoveredClass> recoveredClasses)
|
||||
throws CancelledException, DuplicateNameException, InvalidInputException,
|
||||
|
@ -2009,16 +2009,16 @@ public class RTTIWindowsClassRecoverer extends RTTIClassRecoverer {
|
||||
for (RecoveredClass ancestor : ancestors) {
|
||||
monitor.checkCancelled();
|
||||
|
||||
List<RecoveredClass> decendentList = ancestorToCommonChild.get(ancestor);
|
||||
if (decendentList == null) {
|
||||
List<RecoveredClass> newDecendentList = new ArrayList<RecoveredClass>();
|
||||
newDecendentList.add(parentClass);
|
||||
ancestorToCommonChild.put(ancestor, newDecendentList);
|
||||
List<RecoveredClass> descendantList = ancestorToCommonChild.get(ancestor);
|
||||
if (descendantList == null) {
|
||||
List<RecoveredClass> newDescendantList = new ArrayList<RecoveredClass>();
|
||||
newDescendantList.add(parentClass);
|
||||
ancestorToCommonChild.put(ancestor, newDescendantList);
|
||||
}
|
||||
else {
|
||||
if (!decendentList.contains(parentClass)) {
|
||||
decendentList.add(parentClass);
|
||||
ancestorToCommonChild.replace(ancestor, decendentList);
|
||||
if (!descendantList.contains(parentClass)) {
|
||||
descendantList.add(parentClass);
|
||||
ancestorToCommonChild.replace(ancestor, descendantList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1040,7 +1040,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if issues setting return type
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
public void gatherClassMemberDataInfoForFunction(RecoveredClass recoveredClass,
|
||||
Function function) throws CancelledException, DuplicateNameException,
|
||||
@ -1256,7 +1256,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if issue making function thiscall
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
private void temporarilyReplaceEmptyStructures(Function function, Namespace classNamespace)
|
||||
throws CancelledException, DuplicateNameException, InvalidInputException,
|
||||
@ -1823,7 +1823,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if issue setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
public boolean processConstructorsAndDestructorsUsingParent(RecoveredClass recoveredClass,
|
||||
RecoveredClass parentClass) throws CancelledException, InvalidInputException,
|
||||
@ -1965,7 +1965,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if error setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
public void addConstructorToClass(RecoveredClass recoveredClass, Function constructorFunction)
|
||||
throws CancelledException, InvalidInputException, DuplicateNameException,
|
||||
@ -2090,7 +2090,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if error setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
public void createListedConstructorFunctions(Map<Address, RecoveredClass> referenceToClassMap,
|
||||
List<Address> referencesToConstructors) throws CancelledException,
|
||||
@ -2124,7 +2124,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if issue setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
|
||||
public void processInlineConstructor(RecoveredClass recoveredClass,
|
||||
@ -2542,7 +2542,7 @@ public class RecoveredClassHelper {
|
||||
/**
|
||||
* Method to use existing pdb names to assign class constructors and destructors
|
||||
* @param recoveredClasses List of classes
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if error setting return type
|
||||
* @throws CancelledException if cancelled
|
||||
@ -3480,7 +3480,7 @@ public class RecoveredClassHelper {
|
||||
* @param address the given address
|
||||
* @param name the name to give the new symbol
|
||||
* @param namespace the namespace to put the new symbol in
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
* @throws InvalidInputException if issues setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CancelledException if cancelled
|
||||
@ -3563,7 +3563,7 @@ public class RecoveredClassHelper {
|
||||
* @param namespace the namespace to put the new symbol in
|
||||
* @param setPrimary if true, set the new symbol primary, if false do not make the new symbol primary
|
||||
* @param removeBadFID if true, check for and remove any incorrect FID symbols, if false leave them there
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
* @throws InvalidInputException if issues setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CancelledException if cancelled
|
||||
@ -3640,7 +3640,7 @@ public class RecoveredClassHelper {
|
||||
* @param name the given name
|
||||
* @param function the given function
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if issues setting return type
|
||||
*/
|
||||
@ -3728,7 +3728,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if error setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
private void findAndRemoveBadStructuresFromFunction(Function function, Namespace namespace)
|
||||
throws CancelledException, InvalidInputException, DuplicateNameException,
|
||||
@ -3765,7 +3765,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if invalid data input
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
private void fixBadSignatures(Function function, List<Structure> badStructureDataTypes)
|
||||
throws CancelledException, InvalidInputException, DuplicateNameException,
|
||||
@ -3842,7 +3842,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if invalid data input
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
private void removeBadParameterDataTypes(Function function,
|
||||
List<Structure> badStructureDataTypes) throws CancelledException,
|
||||
@ -4694,7 +4694,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if issues setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
private void nameVfunctions(RecoveredClass recoveredClass, Address vftableAddress,
|
||||
String vftableStructureName) throws CancelledException, InvalidInputException,
|
||||
@ -6078,7 +6078,7 @@ public class RecoveredClassHelper {
|
||||
* determine, using vftable order, which class contains the constructor/destructor and which
|
||||
* contains the inlined constructor/destructor.
|
||||
* @param recoveredClasses List of classes
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if error setting return type
|
||||
* @throws CancelledException when cancelled and others
|
||||
@ -6258,7 +6258,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if issues setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
public void processRemainingIndeterminateConstructorsAndDestructors(
|
||||
List<RecoveredClass> recoveredClasses) throws CancelledException, InvalidInputException,
|
||||
@ -6561,7 +6561,7 @@ public class RecoveredClassHelper {
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws InvalidInputException if issues setting return type
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
*/
|
||||
public void processRegularConstructorsAndDestructorsUsingCallOrder(
|
||||
List<RecoveredClass> recoveredClasses) throws CancelledException, InvalidInputException,
|
||||
@ -6592,7 +6592,7 @@ public class RecoveredClassHelper {
|
||||
* indeterminate functions are constructors or destructors.
|
||||
* @param recoveredClasses List of class objects
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if error setting return type
|
||||
*/
|
||||
@ -6661,7 +6661,7 @@ public class RecoveredClassHelper {
|
||||
* descendant regular list.
|
||||
* @param recoveredClasses list of classes
|
||||
* @throws CancelledException if cancelled
|
||||
* @throws CircularDependencyException if parent namespace is descendent of given namespace
|
||||
* @throws CircularDependencyException if parent namespace is descendant of given namespace
|
||||
* @throws DuplicateNameException if try to create same symbol name already in namespace
|
||||
* @throws InvalidInputException if error setting return type
|
||||
*/
|
||||
|
@ -6303,7 +6303,7 @@ int4 RulePtrArith::evaluatePointerExpression(PcodeOp *op,int4 slot)
|
||||
return 0;
|
||||
if (count > 1) {
|
||||
if (outVn->isSpacebase())
|
||||
return 0; // For the RESULT to be a spacebase pointer it must have only 1 descendent
|
||||
return 0; // For the RESULT to be a spacebase pointer it must have only 1 descendant
|
||||
// res = 2; // Uncommenting this line will not let pointers get pushed to multiple descendants
|
||||
}
|
||||
return res;
|
||||
|
@ -2795,7 +2795,7 @@ TransformVar *SubfloatFlow::setReplacement(Varnode *vn)
|
||||
|
||||
/// \brief Try to trace logical variable through descendant Varnodes
|
||||
///
|
||||
/// Given a Varnode placeholder, look at all descendent PcodeOps and create
|
||||
/// Given a Varnode placeholder, look at all descendant PcodeOps and create
|
||||
/// placeholders for the op and its output Varnode. If appropriate add the
|
||||
/// output placeholder to the worklist.
|
||||
/// \param rvn is the given Varnode placeholder
|
||||
|
@ -313,7 +313,7 @@ public class RepositoryFolder {
|
||||
|
||||
/**
|
||||
* Returns true if any file/item contained within this folder
|
||||
* or its descendents is checked-out.
|
||||
* or its descendants is checked-out.
|
||||
*/
|
||||
private boolean containsCheckout() throws IOException {
|
||||
|
||||
@ -376,8 +376,8 @@ public class RepositoryFolder {
|
||||
if (parent == null) {
|
||||
throw new IOException("Root folder may not be moved");
|
||||
}
|
||||
if (newParent.isDescendentOf(this)) {
|
||||
throw new IOException("New folder must not be decendent");
|
||||
if (newParent.isDescendantOf(this)) {
|
||||
throw new IOException("New folder must not be descendant");
|
||||
}
|
||||
if (containsCheckout()) {
|
||||
throw new FileInUseException(
|
||||
@ -426,9 +426,9 @@ public class RepositoryFolder {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this folder is a descendent of the specified folder
|
||||
* Returns true if this folder is a descendant of the specified folder
|
||||
*/
|
||||
private boolean isDescendentOf(RepositoryFolder folder) {
|
||||
private boolean isDescendantOf(RepositoryFolder folder) {
|
||||
RepositoryFolder rf = parent;
|
||||
while (rf != null) {
|
||||
if (rf == folder) {
|
||||
|
@ -299,7 +299,7 @@ public class DockingUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform some operation on a component and all of its descendents, recursively.
|
||||
* Perform some operation on a component and all of its descendants, recursively.
|
||||
*
|
||||
* This applies the operation to all components in the tree, children first.
|
||||
*
|
||||
|
@ -32,7 +32,7 @@ import ghidra.util.SystemUtilities;
|
||||
* that this will allow direct thread-safe access to the children without having to worry about
|
||||
* {@link ConcurrentModificationException}s while iterating the children. Also, the assumption
|
||||
* is that accessing the children will occur much more frequently than modifying the children.
|
||||
* This should only be a problem if a direct descendent of GTreeNode creates its children by calling
|
||||
* This should only be a problem if a direct descendant of GTreeNode creates its children by calling
|
||||
* addNode many times. But in that case, the tree should be using Lazy or
|
||||
* SlowLoading nodes which always load into another list first and all the children will be set
|
||||
* on a node in a single operation.
|
||||
|
@ -223,7 +223,7 @@ public interface FileSystem {
|
||||
* @param newParentPath path to where the folder is to be moved.
|
||||
* @throws FileNotFoundException if the moved folder does not exist.
|
||||
* @throws DuplicateFileException if folder with the same name exists within the new parent folder
|
||||
* @throws FileInUseException if any file within this folder or its decendents are in-use or checked-out
|
||||
* @throws FileInUseException if any file within this folder or its descendants are in-use or checked-out
|
||||
* @throws IOException if an IO error occurs.
|
||||
* @throws InvalidNameException if the new FolderPath contains an illegal file name.
|
||||
* @throws IllegalArgumentException if new Parent is invalid.
|
||||
@ -238,7 +238,7 @@ public interface FileSystem {
|
||||
* @param newFolderName the name the folder to be renamed to.
|
||||
* @throws FileNotFoundException if the folder to be renamed does not exist.
|
||||
* @throws DuplicateFileException if folder with the new name already exists.
|
||||
* @throws FileInUseException if any file within this folder or its decendents are in-use or checked-out
|
||||
* @throws FileInUseException if any file within this folder or its descendants are in-use or checked-out
|
||||
* @throws IOException if an IO error occurs.
|
||||
* @throws InvalidNameException if the new FolderName contains an illegal file name.
|
||||
*/
|
||||
|
@ -133,7 +133,7 @@ public class ProjectDataPasteAction extends ProjectDataCopyCutBaseAction {
|
||||
return;
|
||||
}
|
||||
|
||||
boolean listChanged = removeDecendantsFromList(list);
|
||||
boolean listChanged = removeDescendantsFromList(list);
|
||||
|
||||
boolean resetClipboard = false;
|
||||
StringBuffer sb = new StringBuffer();
|
||||
@ -188,7 +188,7 @@ public class ProjectDataPasteAction extends ProjectDataCopyCutBaseAction {
|
||||
* Remove descendant nodes from the list; having the parent node
|
||||
* is enough when folders are getting pasted.
|
||||
*/
|
||||
private boolean removeDecendantsFromList(List<GTreeNode> list) {
|
||||
private boolean removeDescendantsFromList(List<GTreeNode> list) {
|
||||
List<GTreeNode> newList = new ArrayList<>();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
GTreeNode destNode = list.get(i);
|
||||
|
@ -107,7 +107,7 @@ public class DecisionNode {
|
||||
(startbit + bitsize - 1) + "), value=0x" + Integer.toHexString(val) + ", context=");
|
||||
debug.append(walker.getParserContext().getContextBytes(), startbit, bitsize);
|
||||
debug.append("\n");
|
||||
debugDumpDecendentConstructors(debug, children[val]);
|
||||
debugDumpDescendantConstructors(debug, children[val]);
|
||||
}
|
||||
|
||||
private void debugInstructionBitsDecision(SleighDebugLogger debug, ParserWalker walker,
|
||||
@ -135,15 +135,15 @@ public class DecisionNode {
|
||||
(startbit + bitsize - 1) + "), value=0x" + Integer.toHexString(val) + ", bytes=");
|
||||
debug.append(bytes, (offset * 8) + startbit, bitsize);
|
||||
debug.append("\n");
|
||||
debugDumpDecendentConstructors(debug, children[val]);
|
||||
debugDumpDescendantConstructors(debug, children[val]);
|
||||
}
|
||||
|
||||
private void debugDumpDecendentConstructors(SleighDebugLogger debug, DecisionNode child) {
|
||||
private void debugDumpDescendantConstructors(SleighDebugLogger debug, DecisionNode child) {
|
||||
debug.indent();
|
||||
debug.append(
|
||||
"decendent constructors for decision node (complete tree dump ordered by line number):\n");
|
||||
"descendant constructors for decision node (complete tree dump ordered by line number):\n");
|
||||
List<Constructor> clist = new ArrayList<>();
|
||||
child.dumpDecendentConstructors(clist);
|
||||
child.dumpDescendantConstructors(clist);
|
||||
for (Constructor c : clist) {
|
||||
debug.dumpConstructor(null, c);
|
||||
}
|
||||
@ -158,7 +158,7 @@ public class DecisionNode {
|
||||
}
|
||||
};
|
||||
|
||||
private void dumpDecendentConstructors(List<Constructor> clist) {
|
||||
private void dumpDescendantConstructors(List<Constructor> clist) {
|
||||
if (bitsize == 0) { // The node is terminal
|
||||
for (Constructor c : constructlist) {
|
||||
int index = Collections.binarySearch(clist, c, debugInstructionComparator);
|
||||
@ -171,7 +171,7 @@ public class DecisionNode {
|
||||
}
|
||||
else {
|
||||
for (DecisionNode child : children) {
|
||||
child.dumpDecendentConstructors(clist);
|
||||
child.dumpDescendantConstructors(clist);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -522,9 +522,9 @@ class ModuleManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform recursive check to determine if specified id is a child or decendant
|
||||
* Perform recursive check to determine if specified id is a child or descendant
|
||||
* of the specified module.
|
||||
* @param id descendent child id (positive for module, negative for fragment)
|
||||
* @param id descendant child id (positive for module, negative for fragment)
|
||||
* @param moduleID module id (positive)
|
||||
* @return true if specified id is a descendant of moduleID.
|
||||
* @throws IOException if database IO error occurs
|
||||
|
@ -110,7 +110,7 @@ public interface Namespace {
|
||||
* this namespace.
|
||||
* @throws DuplicateNameException if another symbol exists in the parent namespace with
|
||||
* the same name as this namespace
|
||||
* @throws CircularDependencyException if the parent namespace is a descendent of this
|
||||
* @throws CircularDependencyException if the parent namespace is a descendant of this
|
||||
* namespace.
|
||||
*/
|
||||
public void setParentNamespace(Namespace parentNamespace)
|
||||
|
@ -152,7 +152,7 @@ public class GroupPath implements Serializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the indicated group path is a descendent of this group path.
|
||||
* Return true if the indicated group path is a descendant of this group path.
|
||||
* @param grpPath the group path
|
||||
*/
|
||||
public boolean isDescendant(GroupPath grpPath) {
|
||||
|
Loading…
Reference in New Issue
Block a user