GP-5819 - Help - Added validation code to check all Ghidra TOC files after help is built

This commit is contained in:
dragonmacher
2025-07-21 11:59:01 -04:00
parent 8c56fc8e04
commit 17c28209ef
23 changed files with 427 additions and 155 deletions

View File

@@ -52,6 +52,7 @@ public class OverlayHelpTree {
}
private void addExternalTOCItem(TOCItem item) {
TOCItem parent = item.getParent();
String parentID = parent == null ? null : parent.getIDAttribute();
if (parentID == null) {
@@ -129,6 +130,20 @@ public class OverlayHelpTree {
// printTreeForID(writer, sourceFileID);
}
public void validateAllTOCs() {
initializeTree();
doValidateAllTOCs(rootNode);
}
private void doValidateAllTOCs(OverlayNode node) {
node.validateChildrenSortGroups();
Set<OverlayNode> children = node.children;
for (OverlayNode child : children) {
doValidateAllTOCs(child);
}
}
void printTreeForID(PrintWriter writer, String sourceFileID) {
initializeTree();
@@ -149,7 +164,7 @@ public class OverlayHelpTree {
private void printContents(String sourceFileID, PrintWriter writer) {
if (rootNode == null) {
// assume not TOC contents; empty TOC file
// assume no TOC contents; empty TOC file
return;
}
@@ -185,6 +200,7 @@ public class OverlayHelpTree {
}
private void buildChildren(OverlayNode node) {
String definitionID = node.getDefinitionID();
Set<TOCItem> children = parentToChildrenMap.remove(definitionID);
if (children == null) {