public CodePath CreateCodePath(CodePathType Type, int EndOffset, int BreakOffset) { CodePath C = new CodePath(this, Type, EndOffset, BreakOffset); this.ChildPaths.Add(C); return(C); }
public CodePath(CodePath Parent, CodePathType Type, int EndOffset, int BreakOffset) { this.Parent = Parent; this.Type = Type; this.EndOffset = EndOffset; this.BreakOffset = BreakOffset; ChildPaths = new List <CodePath>(); }
public SwitchPath(CodePath Parent, Dictionary <int, List <string> > Cases, int EndOffset, int BreakOffset) : base(Parent, CodePathType.Switch, EndOffset, BreakOffset) { this.Cases = Cases; Offsets = Cases == null ? new List <int>() : Cases.Keys.ToList(); if (Program.RDROpcodes) { Offsets.Sort(); } Offsets.Add(BreakOffset); // Ensure default is last offset foreach (int offset in Offsets) { EscapedCases[offset] = false; } }
public SwitchPath(CodePath Parent, CodePathType Type, int EndOffset, int BreakOffset) : base(Parent, Type, EndOffset, BreakOffset) { Offsets = new List <int>(); Cases = new Dictionary <int, List <string> >(); }