diff --git a/DwarfOne2C/Parsing/CompilationUnit.cs b/DwarfOne2C/Parsing/CompilationUnit.cs index 63280dd..b0efc26 100644 --- a/DwarfOne2C/Parsing/CompilationUnit.cs +++ b/DwarfOne2C/Parsing/CompilationUnit.cs @@ -12,6 +12,24 @@ public Node(Tag tag) this.tag = tag; children = new(); } + + public Node Find(int tagID) + { + Node result = children.Find(n => n.tag.ID == tagID); + + if(result != null) + return result; + + foreach(Node child in children) + { + result = child.Find(tagID); + + if(result != null) + return result; + } + + return null; + } } public class CompilationUnit